JSON Serialization/Deserialization in C#
程序员文章站
2022-12-21 08:31:21
因为对C#不是特别熟悉,但是最近写个c#的demo,需要对获取的的json字符串进行解析,开始使用Newtonsoft.Json.Linq尝试了以下,但是感觉操作起来比较麻烦,尤其对与JSON结构比较深的情况。可能是习惯了其它语言的方式,很想能找到类似的方法。 最终了解到System.Web.Scr ......
因为对c#不是特别熟悉,但是最近写个c#的demo,需要对获取的的json字符串进行解析,开始使用newtonsoft.json.linq尝试了以下,但是感觉操作起来比较麻烦,尤其对与json结构比较深的情况。可能是习惯了其它语言的方式,很想能找到类似的方法。
最终了解到system.web.script.serialization支持想要的功能(http://procbits.com/2011/04/21/quick-json-serializationdeserialization-in-c)
首先,在工程中增加引用:system.web.extensions
针对比较简单的json string
{ "some_number": 108.541, "date_time": "2011-04-13t15:34:09z", "serial_number": "sn1234" }
你可以用如下方式将它解析为一个dictionary :
using system.web.script.serialization; var jss = new javascriptserializer(); var dict = jss.deserialize<dictionary<string,string>>(jsontext); console.writeline(dict["some_number"]); //outputs 108.541
针对比较复杂的json string
{ "some_number": 108.541, "date_time": "2011-04-13t15:34:09z", "serial_number": "sn1234" "more_data": { "field1": 1.0 "field2": "hello" } }
解析方式如下:
using system.web.script.serialization; var jss = new javascriptserializer(); var dict = jss.deserialize<dictionary<string,dynamic>>(jsontext); console.writeline(dict["some_number"]); //outputs 108.541 console.writeline(dict["more_data"]["field2"]); //outputs hello
其中more_data字段被解析成一个dictionary
另外,还可以使用另一种方式:
using system.web.script.serialization; var jss = new javascriptserializer(); var dict = jss.deserialize<dynamic>(jsontext); console.writeline(dict["some_number"]); //outputs 108.541 console.writeline(dict["more_data"]["field2"]); //outputs hello
另外,serialization 同样比较简单
using system.web.script.serialization; var jss = new javascriptserializer(); var dict = jss.deserialize<dynamic>(jsontext); var json = jss.serialize(dict); console.writeline(json)
如需转载,请声明,如有帮助,记得关注铁柱,后面的内容更精彩
推荐阅读
-
C#网络请求与JSON解析的示例代码
-
c# 类实例序列化反序列化json文件 (原发布 csdn 2017-10-01 20:02:12)
-
C#实现json格式转换成对象并更换key的方法
-
In .net 4.8,calculate the time cost of serialization in BinaryFormatter,NewtonSoft.json,and System.Text.Json.JsonSerializer.Serialize
-
C#实现的json序列化和反序列化代码实例
-
c# 自定义解析JSON字符串数据
-
c# 解析JSON的几种办法
-
C# JSON格式化转换辅助类 ConvertJson
-
C#操作 JSON方法汇总
-
C#实现将类的内容写成JSON格式字符串的方法