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();
 

猜你喜欢

转载自www.cnblogs.com/wxblogs/p/12729032.html