zoukankan      html  css  js  c++  java
  • ASP.NET 里的 JSON操作

    最近项目中需要用到 JSON操作,google了一下 找到了几个比较好的操作方法....

    一 .使用 mircosoft 提供的 .NET Framework 自带的 json操作方法

    1. 使用JavaScriptSerializer,位于命名空间System.Web.Script.Serialization,使用如下:

    序列化为JSON字符串:

    C#代码

    User user = new User {Name = "jquery", Age = 20};
    JavaScriptSerializer serializer = new JavaScriptSerializer();
    string result = serializer.Serialize(user);

    反序列化JSON

    C#代码

    String input = "";
    JavaScriptSerializer serializer = new JavaScriptSerializer();
    serializer.Deserialize(input);

    2. 使用DataContractJsonSerializer类,

    推荐使用这个,这是最新的,位于命名空间System.Runtime.Serialization.Json下,序列化和反序列化分别调用它的WriteObject()和ReadObject()方法就可以了。

    二:使用第三方的 JSON.NET  (http://json.codeplex.com/)

    Version: Json.NET 3.5 Release 7
    Date: Fri Apr 16 2010 at 3:00 PM


    在项目中添加Newtonsoft.Json.dll引用..

    using Newtonsoft.Json;
    using Newtonsoft.Json.Converters;

    //把Json字符串反序列化为对象

    目标对象 = JsonConvert.DeserializeObject(JSON字符串, typeof(目标对象));


    //把目标对象序列化为Json字符串

    string Json字符串 = JsonConvert.SerializeObject(目标对象);

     string jsonText = "";


    //json 读取
    jsonText = "['JSON!',1,true,{property:'value'}]";
    JsonReader reader = new JsonTextReader(new StringReader(jsonText));
    Console.WriteLine("TokenType ValueType Value");
    while (reader.Read())
    {
        Console.WriteLine(reader.TokenType + " " + reader.ValueType + " " + reader.Value);
        Console.WriteLine(" ");
    }

    //JSON写入
    StringWriter sw = new StringWriter();
    JsonWriter writer = new JsonTextWriter(sw);
    writer.WriteStartArray();
    writer.WriteValue("JSON!");
    writer.WriteValue(1);
    writer.WriteValue(true);
    writer.WriteStartObject();
    writer.WritePropertyName("property");
    writer.WriteValue("value");
    writer.WriteEndObject();
    writer.WriteEndArray();
    writer.Flush();
    jsonText = sw.GetStringBuilder().ToString();
    Console.WriteLine(jsonText);

    一些相关的json操作的链接和资料

    json官方: http://www.json.org/json-zh.html

    另外一种开源的json类库 : Jayrock.Json  (http://www.cnblogs.com/chjw8016/archive/2010/04/20/1716198.html?login=1#commentform)

  • 相关阅读:
    Qt 学习之路 2(39):遍历容器
    Qt 学习之路 2(38):存储容器
    JS 格式化日期
    springboot 核心注解
    Java 生成随机数 Random、SecurityRandom、ThreadLocalRandom、Math.random()
    验证码 easy_captcha
    读过的书籍
    typora 常用快捷键
    kafka 遇到的问题
    老男孩Linux 运维
  • 原文地址:https://www.cnblogs.com/0to9/p/5075206.html
Copyright © 2011-2022 走看看