c#对象和json字符串转换

硅谷探秘者 算法基础 350 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];
    }
   
}
猜你喜欢
数据库基础 3013 1.利用dbms_lob.substr()方法可将如下:selectdbms_lob.substr(content)fromNEWS该方法有个缺点,当content段长度超过某
weblog 524 pom依赖!--https://mvnrepository.com/artifact/com.alibaba/fastjson-- dependency groupIdcom.alibaba/groupId artifactIdfastjson/artifactId version1.2.62/version /dependency后端代码 publicsynchronizedvoidm
official 179 leetcode第344题(简单)原链接:https://leetcode-cn.com/problems/reverse-string/题目描述编写一个函数,其作用是将输入的过来。输入
数据库基础 1191 '%from_str%'说明:table_name——表的名field_name——段名from_str——需要替to_str——替成的
框架 1564 例:java类如下:publicclassQuestionnaireSubject{ privateIntegerid; privateStringname; publicIntegergetId(){ returnid; } publicvoidsetId(Integerid){ this.id=id; } publicStringgetName(){ returnname; } publ
weblog 1003 SelectORD(‘a’)-:973.CONV(N,from_base,to_base)n进制,并返回,N是要的数据,from_base是原进制,to_base是目标进制。selectCO
框架 1649 springboot请求json数据不返回的指定段在实体类的段上加上注解importcom.fasterxml.jackson.annotation.JsonIgnore;例
插件 谷歌 705 谷歌浏览器访问程序接口返回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
标签
算法基础 linux 前端 c++ 数据结构 框架 数据库 计算机基础 储备知识 java基础 ASM 其他 深入理解java虚拟机 nginx git 消息中间件 搜索 maven redis docker dubbo vue 导入导出 软件使用 idea插件 协议
目录
祝愿神州十三飞行乘组平安归来