zoukankan      html  css  js  c++  java
  • JSON Serialization/Deserialization in C#

    因为对C#不是特别熟悉,但是最近写个c#的demo,需要对获取的的json字符串进行解析,其实Newtonsoft.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)

    如需转载,请声明,如有帮助,记得关注铁柱,后面的内容更精彩

  • 相关阅读:
    2-1
    project 1
    application.properties
    springbootmybaits_day2
    springbootMybaits_day1
    linux文件夹赋予权限
    属性拼接问题
    三种数据库的配置文件db.properties
    mysql对应java中常用的字段
    Spring里面的注解
  • 原文地址:https://www.cnblogs.com/art-geek/p/12497533.html
Copyright © 2011-2022 走看看