C#中后台處理前台傳來的Json數據


使用開源的類庫Newtonsoft.Json,通常可以使用JObject, JsonReader, JsonWriter處理。這種方式最通用,也最靈活,可以隨時修改不爽的地方。

一、使用JsonReader讀Json字符串:

1        string jsonText = @"{""input"" : ""value"",""output"" : ""result""}";
2             JsonReader reader = new JsonTextReader(new StringReader(jsonText));
3             while (reader.Read())
4             {
5                 Console.WriteLine(reader.TokenType + "\t\t" + reader.ValueType + "\t\t" + reader.Value);
6             }

二、使用JsonWriter寫字符串:

 1       StringWriter sw = new StringWriter();
 2         JsonWriter writer = new JsonTextWriter(sw);
 3         writer.WriteStartObject();
 4         writer.WritePropertyName("input");
 5         writer.WriteValue("value");
 6         writer.WritePropertyName("output");
 7         writer.WriteValue("result");
 8         writer.WriteEndObject();
 9         writer.Flush();
10         string jsonText = sw.GetStringBuilder().ToString();
11         Console.WriteLine(jsonText);

三、使用JObject讀寫字符串

1 JObject jo = JObject.Parse(jsonText);
2 string[] values =jo.Properties().Select(item => item.Value.ToString()).ToArray();

四、使用JsonSerializer讀寫對象(基於JsonWriter與JsonReader):

1 string jsonArrayText1 ="[{'a':'a1','b':'b1'},{'a':'a2','b':'b2'}]";
2 JArray ja =(JArray)JsonConvert.DeserializeObject(jsonArrayText1);
3 string ja1a =ja[1]["a"].ToString();
4 //或者
5 JObject o = (JObject)ja[1];
6 string oa = o["a"].ToString();

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM