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#单例模式的实现以及性能对比的实例

关于url后面传中文方法总结

使用c#操作windowad之的windows用户组

c#实现json序列化删除null值的方法实例

c#中关于dbnull的解释

c#对word文档的创建、插入表格、设置样式等操作实例

.net core + angular cli 实现开发环境搭建

c# arraylistd的长度问题解决

总结一些编码和设计原则实例

.net 1.x中的委托实例详解

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




打赏

取消

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

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

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

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

评论

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