在线XML和JSON数据互转

访问网站:http://www.bejson.com/go.php?u=http://www.bejson.com/xml2json

 

JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度,

那么,JSON到底是什么?

JSON就是一串字符串 只不过元素会使用特定的符号标注。

{} 双括号表示对象

[] 中括号表示数组

"" 双引号内是属性或值

: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)

所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象

而[{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的数组

当然了,你也可以使用{"name":["Michael","Jerry"]}来简化上面一部,这是一个拥有一个name数组的对象

JSON着色工具http://www.bejson.com/go.html?u=http://bejson.com/aboutjson.php

 

[
  {
    "ID": "1",
    "Name": [
      "p1",
      "p1"
    ],
    "Sex": "s1"
  },
  {
    "ID": "2",
    "Name": [
      "p2",
      "p2"
    ],
    "Sex": "s2"
  },
  {
    "ID": "3",
    "Name": [
      "p3",
      "p3"
    ],
    "Sex": "s3"
  }
]

 

备注:

使用Newtonsoft.Json.JsonConvert类
Newtonsoft.Json.JsonConvert类是非微软提供的一个JSON序列化和反序列的开源免费的类库(下载网址是:http://www.codeplex.com/json/),它提供了更灵活的序列化和反序列化控制,

 

  public  class Person1
    {
         ///   <summary>
        
///  
        
///   </summary>
         public  string ID {  getset; }
   
         private List< string> _name =  new List< string>();
         ///   <summary>
        
///  
        
///   </summary>
         public List< string> Name
        {
             get
            {
                 return _name;
            }
             set
            {
                _name = value;
            }
        }
         ///   <summary>
        
///  
        
///   </summary>
         public  string Sex {  getset; }
    }
View Code

 

   public  void dotest()
        {

            Person1 p1 =  new Person1();
            p1.ID =  " 1 ";
            p1.Name.Add( " p1 ");
            p1.Name.Add( " p1 ");
            p1.Sex =  " s1 ";

            Person1 p2 =  new Person1();
            p2.ID =  " 2 ";
            p2.Name.Add( " p2 ");
            p2.Name.Add( " p2 ");
            p2.Sex =  " s2 ";


            Person1 p3 =  new Person1();
            p3.ID =  " 3 ";
            p3.Name.Add( " p3 ");
            p3.Name.Add( " p3 ");
            p3.Sex =  " s3 ";

            List<Person1> lp =  new List<Person1>();
            lp.Add(p1);
            lp.Add(p2);
            lp.Add(p3);


             // 对象序列化为json字符串
             string restult = Newtonsoft.Json.JavaScriptConvert.SerializeObject(lp);

             // 反序列化成对象。
            List<Person1> list = (List<Person1>)Newtonsoft.Json.JavaScriptConvert.DeserializeObject(restult,  typeof(List<Person1>));


             // 根据索引读取Json的值。
            JavaScriptArray stocks =  new JavaScriptArray();
             var json = (JavaScriptArray)Newtonsoft.Json.JavaScriptConvert.DeserializeObject(restult);
             for ( int j =  0; j < stocks.Count; j++)
            {
                JavaScriptObject jso = (JavaScriptObject)stocks[j];
                 string id=jso[ " ID "].ToString();

            }
            System.Console.Write(restult);
        }
View Code

 

你可能感兴趣的:(json)