JSON

ÂíÕ×¾ê ÀÈ·»Ê¦·¶Ñ§ÔºÐÅÏ¢¼¼ÊõÌá¸ß°àµÚ°ËÆÚ

×ÖºÅ+ ×÷ÕߣºH5Ö®¼Ò À´Ô´£ºH5Ö®¼Ò 2015-10-21 10:00 ÎÒÒªÆÀÂÛ( )

Èç½ñÒòΪÏîÄ¿ÐèÇó(asp.net webÍøÕ¾£¬Ç°Ì¨Ïòºǫ́´«µÝJSONÊý¾Ý£¬²¢¶ÔJSONÊý¾Ý´¦Àí£¬ÏêÊö¼û²©¿Í¡¶ ¡¶ÏîÄ¿¾­Ñé¡·--ͨ¹ýjs»ñȡǰ̨Êý¾ÝÏòÒ»°ã´¦Àí³ÌÐò´«µÝJsonÊý¾Ý£¬²¢½âÎöJsonÊý¾Ý£¬½«Ç°Ì¨´«À´µÄJsonÊý¾ÝдÈëÊý¾Ý¿â±íÖРʹÓÃNewtonsoft.Json.dll·´ÐòÁл¯JSON×Ö·û

 

    

    

    Èç½ñÒòΪÏîÄ¿ÐèÇó(asp.net webÍøÕ¾£¬Ç°Ì¨Ïòºǫ́´«µÝJSONÊý¾Ý£¬²¢¶ÔJSONÊý¾Ý´¦Àí£¬ÏêÊö¼û²©¿Í¡¶ 

¡¶ÏîÄ¿¾­Ñé¡·--ͨ¹ýjs»ñȡǰ̨Êý¾ÝÏòÒ»°ã´¦Àí³ÌÐò´«µÝJsonÊý¾Ý£¬²¢½âÎöJsonÊý¾Ý£¬½«Ç°Ì¨´«À´µÄJsonÊý¾ÝдÈëÊý¾Ý¿â±íÖÐ

    

    ʹÓÃNewtonsoft.Json.dll·´ÐòÁл¯JSON×Ö·û´®µÄ²½Ö裺

    1.¶ÔNewtonsoft.Json.dllÌí¼ÓÒýÓÃ

     ½«Newtonsoft.Json.dllÎļþ¿½±´ÖÁ½çÃæ²ãµÄBinĿ¼Ï£¬È»ºóÓÒ»÷Bin,µ¯³ö¡°Ìí¼ÓÒýÓá±Ò³£¬È»ºóµã»÷¡°ä¯ÀÀ¡±£¬È»ºóÕÒµ½½çÃæ²ãµÄBinÎļþ¼Ð£¬ÕÒµ½Newtonsoft.Json.dllÎļþ£¬È»ºóµã»÷"Ìí¼Ó"£¬ÒýÓÃÌí¼Ó³É¹¦£¡

     

    

    2.ÔÚÐèÒª¶ÔJSON×Ö·û´®´¦ÀíµÄ½çÃæ£¬ÒýÓÃJSON¿Õ¼ä£¬²¢¶ÔJSON½øÐд¦Àí

      ÍøÉϽâ¾ö°ì·¨´óÖÂÈçÏ£º

     ·½·¨1£º

//ÒýÓÃJSON½âÎöʹÓõĿռä using Newtonsoft.Json; using System.Text; //¶¨ÒåÒ»¸ö¿É±ä×Ö·û´®Êý×é StringBuilder sb = new StringBuilder(); //¶¨ÒåÒ»¸öJSON×Ö·û´®str string str = "[{ID:'1',Name:'John',Other:[{Age:'21',Sex:'0'}]},{ID:'2',Name:'Good',Other:[{Age:'36',Sex:'1'}]}]"; //·´ÐòÁл¯JSONÊý¾Ý JavaScriptArray javascript = (JavaScriptArray)JavaScriptConvert.DeserializeObject(str); //ÒÀ´Î¶ÁÈ¡·´ÐòÁл¯µÄJSONÊý¾Ý£¬²¢½«¸÷Êý¾ÝдÈë¿É±ä×Ö·û´®Êý×éÖÐ for (int i = 0; i < javascript.Count; i++) { // JavaScriptObject obj = (JavaScriptObject)javascript[i]; //¿É±ä×Ö·û´®Êý×éÌí¼ÓÊý¾Ý sb.Append("ID£º" + obj["ID"].ToString()); sb.Append("Name£º" + obj["Name"].ToString()); //·´ÐòÁл¯JSONÊý¾Ý JavaScriptArray json = (JavaScriptArray)obj["Other"]; //ÒÀ´Î¶ÁÈ¡·´ÐòÁл¯µÄJSONÊý¾Ý£¬²¢½«¸÷Êý¾ÝдÈë¿É±ä×Ö·û´®Êý×éÖÐ for (int j = 0; j < json.Count; j++) { JavaScriptObject jsonobj = (JavaScriptObject)json[j]; sb.Append("Age£º" + jsonobj["Age"].ToString()); sb.Append("Sex£º" + jsonobj["Sex"].ToString()); } }
»¹ÓÐÒ»ÖÖ·½·¨ÊÇ£º //¶¨ÒåÒ»¸öJSON×Ö·û´®str string jsonText = "[{'a':'aaa','b':'bbb','c':'ccc'},{'a':'aaa2','b':'bbb2','c':'ccc2'}]"; //·´ÐòÁл¯JSONÊý¾Ý JsonReader reader = new JsonReader(new StringReader(jsonText)); //ÒÀ´Î¶ÁÈ¡·´ÐòÁл¯µÄJSONÊý¾Ý while (reader.Read()) { textBox1.Text += "TokenType = " + reader.TokenType + " ValueType = " + reader.ValueType + " Value = " + reader.Value + "\r\n"; }

         µÚÒ»ÖÖ·½·¨±àÒëÖ±½Ó³ö´í£¬¸ù±¾²»Ê¶±ðJavaScriptArray£¬JavaScriptObject£¬¾ÍÁ¬JavaScriptConvert·½·¨Ò²Ä¾ÓУ¡ÄǺðɣ¬µÚ¶þÖÖ×ÜÐÐÁ˰ɣ¬Ìáʾ£º

     ´íÎó 2 ÎÞ·¨´´½¨³éÏóÀà»ò½Ó¿Ú¡°Newtonsoft.Json.JsonReader¡±µÄʵÀý

       ÕâÊÇÔõô»ØÊ£¿£¿£¿

       ºóÀ´ÔÚËѵ½µÄÎÄÕÂÖУ¬·¢ÏÖаæÖÐJavaScriptArray±ä³ÉÁËJArray£¬Ë³×ÅÕâ¸ö˼·£¬·¢Ïֱ仯ÈçÏ£º

      

JavaScriptArray--->JArray JavaScriptConvert--->JsonConvert JavaScriptObject--->JObject

   ÆäʵÕâÑù¸ü¸Ä¸ü¹æ·¶°É£¡


ÏÂÃæ½éÉÜа汾Newtonsoft.Json.dll·´ÐòÁл¯JSON×Ö·û´®µÄ·½·¨

    1.Ö±½Ó·´ÐòÁл¯JSON×Ö·û´®

      

//ÒýÓÃÐòÁл¯¡¢·´ÐòÁл¯JSON×Ö·û´®Óõ½µÄ¿Õ¼ä using Newtonsoft.Json; using Newtonsoft.Json.Linq; //¶¨ÒåÒ»¸öJSON×Ö·û´® string jsonText = "[{'a':'aaa','b':'bbb','c':'ccc'},{'a':'aaa2','b':'bbb2','c':'ccc2'}]"; //·´ÐòÁл¯JSON×Ö·û´® JArray ja =(JArray) JsonConvert.DeserializeObject(jsonText); //½«·´ÐòÁл¯µÄJSON×Ö·û´®×ª»»³É¶ÔÏó JObject o = (JObject)ja[1]; //¶ÁÈ¡¶ÔÏóÖеĸ÷ÏîÖµ Console.WriteLine(o["a"]); Console.WriteLine(ja[1]["a"]);
    2.¶¨Òå¶ÔÏóÁÐ±í£¬È»ºó·´ÐòÁл¯JSON×Ö·û´®

      2.1 Ìí¼ÓÒ»¸öÀ࣬¶¨ÒåÒ»¸ö¶ÔÏó

    

using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> ///Customer µÄժҪ˵Ã÷ /// </summary> public class Customer { //ÔÚÐòÁл¯Ç°ºóûÓб䶯 public string a { get; set; } //ÔÚÐòÁл¯Ç°ºóÉèÖúÍÖØÖà public string b { get; set; } //ÉèÖÃΪnull£¬µ«ÔÚÐòÁл¯ºóÌî³ä public string c { get; set; } public string Other { get; set; } public Customer() { // //TODO: ÔÚ´Ë´¦Ìí¼Ó¹¹Ô캯ÊýÂß¼­ // a = ""; b = ""; c = ""; Other = null; } }

     2.2 ·´ÐòÁл¯JSON×Ö·û´®

¡¡

1.±¾Õ¾×ñÑ­ÐÐÒµ¹æ·¶£¬ÈκÎ×ªÔØµÄ¸å¼þ¶¼»áÃ÷È·±ê×¢×÷ÕߺÍÀ´Ô´£»2.±¾Õ¾µÄÔ­´´ÎÄÕ£¬Çë×ªÔØÊ±Îñ±Ø×¢Ã÷ÎÄÕÂ×÷ÕߺÍÀ´Ô´£¬²»×ðÖØÔ­´´µÄÐÐΪÎÒÃǽ«×·¾¿ÔðÈΣ»3.×÷ÕßͶ¸å¿ÉÄܻᾭÎÒÃDZ༭Ð޸Ļò²¹³ä¡£

Ïà¹ØÎÄÕÂ
ÍøÓѵãÆÀ
­