zoukankan      html  css  js  c++  java
  • NewtonSoft JSON For Net

    1.JSONConvert 序列化与反序列化

    string js=JSONConvert.SerialObject(object obj)  对象序列化成JSON格式字符串

    例子:string js=JSONConvert.SerailObject(new{Name="zhangsan",Age=22});

       结果:  {"Name":"zhangsan","Age":22};

    反序列化:

       T obj=JSONConvert.DeserializeObject<T>(@"{ 'Name':'zhangsan','Age':22}")

       textBox1.Text=obj.Name;

       // zhangsan 

    2.JSON.Linq

     public static JObject  JObject.Parse(string json)

    JObject jo=JObject.Parse(string jsonString); 

    例子:

    JObject jo = JObject.Parse(@"{'Name':'sundh','Age':25}");
    textBox1.AppendText(jo["Name"].ToString());

    结果:sundh

    JArray ja=JArray.Parse(@"['aa','bb','cc']");

    textBox1.Text=ja.ToString();  

    //结果:["aa","bb","cc"]

    2.1 SelectToken(string item)


    JObject jo = JObject.Parse(@"{'Student':{'Name':'zhangsan','Age':'15'},'Score':{'YuWen':89,'ShuXue':67,'YingYu':95}}");

    JObject jStudent = jo.SelectToken("Student") as JObject; //方法1 返回值为JToken
    JObject js = jo["Student"] as JObject;   //方法2 返回值为:JToken 因此需要转换
    textBox1.Text = jStudent.ToString();

     textBox1.Text += js;

    //结果:

    {
    "Name": "zhangsan",
    "Age": "15"
    }{
    "Name": "zhangsan",
    "Age": "15"
    }

    public void Add(string propertyName,JToken value)

    JObject jo = JObject.Parse(@"{'Student':{'Name':'zhangsan','Age':'15'},'Score':{'YuWen':89,'ShuXue':67,'YingYu':95}}");
    JObject jStudent = jo.SelectToken("Student") as JObject;
    JObject js = jo["Student"] as JObject;
    js.Add("ls", jo);

    //结果

    {
    "Name": "zhangsan",
    "Age": "15",
    "ls": {
    "Student": {
    "Name": "zhangsan",
    "Age": "15"
    },
    "Score": {
    "YuWen": 89,
    "ShuXue": 67,
    "YingYu": 95
    }
    }
    }

     
    public abstract class JToken : IJEnumerable<JToken>, 
    	IEnumerable<JToken>, IEnumerable, IJsonLineInfo, ICloneable, 
    	IDynamicMetaObjectProvider
    public class JObject : JContainer, IDictionary<string, JToken>, 
    	ICollection<KeyValuePair<string, JToken>>, IEnumerable<KeyValuePair<string, JToken>>, 
    	IEnumerable, INotifyPropertyChanged, ICustomTypeDescriptor, INotifyPropertyChanging
     
    public class JArray : JContainer, IList<JToken>, 
    	ICollection<JToken>, IEnumerable<JToken>, IEnumerable
    public class JValue : JToken, IEquatable<JValue>, 
    	IFormattable, IComparable, IComparable<JValue>, IConvertible

    根据定义可知JToken,对共享元素的一种抽象,即它抽象了JObject元素。

     API Document:https://www.newtonsoft.com/json/help/html/N_Newtonsoft_Json_Linq.htm

  • 相关阅读:
    内边距
    文本修饰
    背景重复样式background-repeat
    图片做背景
    Map value类型不同的写法
    js登录,回车登录
    Java JS SHA-256加密
    JsonArray转List,list转json字符串
    按钮,图像提交
    cocos2d-x游戏引擎核心之三——主循环和定时器
  • 原文地址:https://www.cnblogs.com/sundh1981/p/13179525.html
Copyright © 2011-2022 走看看