c#对象和json字符串转换

硅谷探秘者 算法基础 1409 0 0

c#对象和json字符串转换

using System;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Text;

namespace WinFormsApp1
{
    static class Program
    {
        static void Main()
        {
            Car c = new Car();
            c.id = 345;
            c.name = "baoma";

            Person p = new Person();
            p.id = 1;
            p.name = "wang";
            p.car = c;

            string ps = ObjectToJSON(p);
            System.Diagnostics.Trace.WriteLine(ps);

            Person p2 = JsonToObject<Person>(ps);
            System.Diagnostics.Trace.WriteLine(p2.name);
        }

        //json字符串转对象
        public static T JsonToObject<T>(string jsonText)
        {
            DataContractJsonSerializer s = new DataContractJsonSerializer(typeof(T));
            MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonText));
            T obj = (T)s.ReadObject(ms);
            ms.Dispose();
            return obj;
        }
        //对象转json字符串
        public static string ObjectToJSON<T>(T obj)
        {
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
            string result = string.Empty;
            using (MemoryStream ms = new MemoryStream())
            {
                serializer.WriteObject(ms, obj);
                ms.Position = 0;
                using (StreamReader read = new StreamReader(ms))
                {
                    result = read.ReadToEnd();
                }
            }
            return result;
        }
    }

    public class Person{
        public int id;
        public string name;
        public int[] a = new int[10];
        public Car car;
    }

    public class Car {
        public int id;
        public string name;
        public Boolean[] b =new Boolean[10];
    }
   
}

评论区
请写下您的评论...
暂无评论...
猜你喜欢
weblog 2122 pom依赖!--https://mvnrepository.com/artifact/com.alibaba/fastjson-- dependency groupIdcom.alibaba/groupId artifactIdfastjson/artifactId version1.2.62/version /dependency后端代码 publicsynchronizedvoidm
数据库基础 5367 1.利用dbms_lob.substr()方法可将如下:selectdbms_lob.substr(content)fromNEWS该方法有个缺点,当content段长度超过某
official 1074 leetcode第344题(简单)原链接:https://leetcode-cn.com/problems/reverse-string/题目描述编写一个函数,其作用是将输入的过来。输入
数据库基础 2244 '%from_str%'说明:table_name——表的名field_name——段名from_str——需要替to_str——替成的
框架 3334 例:java类如下:publicclassQuestionnaireSubject{ privateIntegerid; privateStringname; publicIntegergetId(){ returnid; } publicvoidsetId(Integerid){ this.id=id; } publicStringgetName(){ returnname; } publ
weblog 1979 SelectORD(‘a’)-:973.CONV(N,from_base,to_base)n进制,并返回,N是要的数据,from_base是原进制,to_base是目标进制。selectCO
框架 4429 springboot请求json数据不返回的指定段在实体类的段上加上注解importcom.fasterxml.jackson.annotation.JsonIgnore;例
插件 谷歌 1666 谷歌浏览器访问程序接口返回json格式时比较混乱,如下图安装此插件后的格式如下图点击右上方按钮下载安装方法打开拓展程序,如下将插件拖到这个界面,点击同意安装插件,安装完成后如上图。
归档
2018-11  12 2018-12  33 2019-01  28 2019-02  28 2019-03  32 2019-04  27 2019-05  33 2019-06  6 2019-07  12 2019-08  12 2019-09  21 2019-10  8 2019-11  15 2019-12  25 2020-01  9 2020-02  5 2020-03  16 2020-04  4 2020-06  1 2020-07  7 2020-08  13 2020-09  9 2020-10  5 2020-12  3 2021-01  1 2021-02  5 2021-03  7 2021-04  4 2021-05  4 2021-06  1 2021-07  7 2021-08  2 2021-09  8 2021-10  9 2021-11  16 2021-12  14 2022-01  7 2022-05  1 2022-08  3 2022-09  2 2022-10  2 2022-12  5 2023-01  3 2023-02  1 2023-03  4 2023-04  2 2023-06  3 2023-07  4 2023-08  1 2023-10  1 2024-02  1 2024-03  1 2024-04  1 2024-08  1
标签
算法基础 linux 前端 c++ 数据结构 框架 数据库 计算机基础 储备知识 java基础 ASM 其他 深入理解java虚拟机 nginx git 消息中间件 搜索 maven redis docker dubbo vue 导入导出 软件使用 idea插件 协议 无聊的知识 jenkins springboot mqtt协议 keepalived minio mysql ensp 网络基础 xxl-job rabbitmq haproxy srs 音视频 webrtc javascript 加密算法
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。