1、 Json的字符串搭建格式:JSON数据在名称/值表达中:1、名称使用字符串,双引号表示2、值可以是数字,3、字符串是双引号,4、数组是方括号,5、对象是花括号。 Json代码实战之(读取JsonReader 和 解析JObect)Json 使用JsonReader读取字符串/ JsonReader顺序解析/summaryprivatevoidjsonOne() stringjsonText=Name:小三,Age22;JsonReaderreader=newJsonTextReader(newStringReader(jsonText);while (reader.Read()Console
2、.WriteLine(reader.TokenType);/名称类型Console.WriteLine(reader.ValueType);/输出类型Console.WriteLine(reader.Value);/输出值Console.WriteLine(); JObject操作关于JObect:/ JObject用于操作Json对象解析privatevoidjsonTwo()/第一种小红JObjectjo=JObject.Parse(jsonText);/加载json数据string values=jo.Properties().Select(e=e.Name.ToString() +e.
3、Value.ToString().ToArray();/获取数据foreach(stringsinvalues)Console.WriteLine(s);/第二种JsonReaderjr=newJsonTextReader(newStringReader(你好hihihihi);JObjectjo1=JObject.Load(jr);/加载jsonReader读取的字符串进行操作Console.WriteLine(jo1);/第三种JArrayarray=newJArray();array.Add(hi 大家好);array.Add(newDateTime().Ticks);JObjecto=
4、newJObject();o创投科技 =array;Console.WriteLine(o.ToString();/*输出: * Name:小红 Age:22 , */ JArray数组操作 和 嵌套json/ JArray数组类型privatevoidjsonArray()stringJsonArrayText=小黑16,小白17/反序列化对象的JSON字符串。JArrayja= (JArray)JsonConvert.DeserializeObject(JsonArrayText);/指定某个行的名称数据stringname1=ja1.ToString();Console.WriteLin
5、e(name1);/遍历jsons数组for(inti=0;ija.Count;i+)Console.WriteLine(jai.ToString();/ Json嵌套性数据privatevoidjson()tryxxx x1: shantou: zone哈尔zone_en街道, xia: 2999 JObjecto= (JObject)JsonConvert.DeserializeObject(jsonText);/不加方括号json类型正常输出Console.WriteLine(o);/输出全部/以下输出只对数组有效Console.WriteLine(ox1shantou0);/输出xxx
6、类下的x1类的shantou类中的数据0);/输出xxx类下的x1类的shantou类中的Name数组catch (Exceptionex) Console.WriteLine(ex.ToString(); 序列化Jsonv jsonWrite写入stringwriter并且输出/ JsonWriteprivatevoidjsonWriter()StringWritersw=newStringWriter();JsonWriterjw=newJsonTextWriter(sw);/json写入StringWriterjw.WritePropertyName(格式化爱情jw.WriteValue
7、(努力奋斗Console.WriteLine(sw.ToString();v 反序列构建json数据结构类,用Newtonsoft.Json.JsonConvert.DeserializeObject(jsonText);写入数据结构类/ Json数据架构类之操作之反序列化对象/ Newtonsoft.Json.JsonConvert.DeserializeObjectprivatevoidjsonClass()start str1小蔡,22222 ,str2selfworth自我提升/反序列化公式Studentjson=Newtonsoft.Json.JsonConvert.Deserial
8、izeObjectjson.time=DateTime.Now;/给时间复制json.start.str1.Age=26/给年龄修改值Console.WriteLine(time = +json.time);str1 = +json.start.str1.Name+t+json.start.str1.Age);str2 = +json.start.str2.selfworth);数据结构类:/ Json数据架构之入口publicclassStudentpublicDateTimetime get; set;publicstastart get;/ Json分界接口publicclassstap
9、ublicstastr1str1 get;publicstastr2str2 get;/ Json输出用户信息publicclassstastr1publicstringName get;publicstringAge get;/ Json输出用户价值publicclassstastr2publicstringselfworth get; v 序列化构建json数据结构类,用JsonSerializer类;/ Json数据架构类之操作之序列化/ JsonSerializerprivatevoidjsonClass2()/方法一sts=newst() Name=程序员, Age=20 ;/添加数
10、据/将对象序列化和反序列化为JSON格式。该JsonSerializer使您能够控制对象的编码成JSONJsonSerializerser=newJsonSerializer();/JSON序列化/写入字符初始化ser.Serialize(newJsonTextWriter(sw), s);/参数含义:第一个参数设置为写入的stringwriter,第二个参数设置为输出的数据结构类Console.WriteLine(sw.GetStringBuilder().ToString();nn第二种实现方法List泛型/方法二Listls=newListsts1=newst() Name=小K1, A
11、ge=20, ls=newList123, 456789 ;sts2=newst() Name=小K2, Age=22, ls=newList101112131415161718ls.Add(s1);ls.Add(s2);StringWritersw1=newStringWriter();JsonSerializerjs=newJsonSerializer();js.Serialize(sw1, ls);Console.WriteLine(sw1.GetStringBuilder().ToString(); / Json数据结构publicclassstpublicintAge get;publicListls get;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1