使用开源的类库Newtonsoft.Json,
一、使用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();