C#如何实现JSON与对象之间互相转换功能示例


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

/// <summary>

/// Json转换成对象

/// </summary>

/// <typeparam name="T"></typeparam>

/// <param name="jsonText"></param>

/// <returns></returns>

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;

}

/// <summary>

/// 对象转换成JSON

/// </summary>

/// <typeparam name="T"></typeparam>

/// <param name="obj"></param>

/// <returns></returns>

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;

}

3.调用


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

//1.对象-->JSON

UserInfo info = new UserInfo

{

    Age = 10,

    Gender = 1,

    UserName = "刘德华",

    Lover = new List<string> { "美女1", "美女2", "美女3" },

    Address = new ContactAddress

    {

      Province = "湖南省",

      City = "长沙市",

      Country = "望城县",

      Details = "某旮旯快递找不到的地方"

    },

    DailyRecord = new Dictionary<string, string> { { "星期一", "吃饭" }, { "星期二", "洗衣服" }, { "星期三", "好事情" } }

};

string json = ObjectToJSON<UserInfo>(info);

4.反序列化后的结果

代码如下:

1

2

{"UserName":"刘德华","Age":10,"Gender":1,"Lover":["美女1","美女2","美女3"],"Address":{"Province":"湖南省","City":"长沙市","Country":"望城县",

"Details":"某旮旯快递找不到的地方"},"DailyRecord":[{"Key":"星期一","Value":"吃饭"},{"Key":"星期二","Value":"洗衣服"},{"Key":"星期三","Value":"好事情"}]}

以上就是C#如何实现JSON与对象之间互相转换功能示例的详细内容!

返回前面的内容

相关阅读 >>

c#中如何使用sendmessage?

.net core如何动态调用泛型解决方法

c#中关于list<t>的并集与交集以及差集解析

详解.net core使用socket与树莓派进行通信

.net 玩单反的技巧

c#中关于多线程创建对象的示例分享

.net core中遇到的一些坑的图文详解

c#如何使用ilgenerator实现动态生成函数的实例

c#中datetime与时间戳转换的实例代码

c# 加密类工具实例分析

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...