C#NewtonsoftJson文档格式.docx

上传人:b****3 文档编号:18337944 上传时间:2022-12-15 格式:DOCX 页数:9 大小:17.57KB
下载 相关 举报
C#NewtonsoftJson文档格式.docx_第1页
第1页 / 共9页
C#NewtonsoftJson文档格式.docx_第2页
第2页 / 共9页
C#NewtonsoftJson文档格式.docx_第3页
第3页 / 共9页
C#NewtonsoftJson文档格式.docx_第4页
第4页 / 共9页
C#NewtonsoftJson文档格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

C#NewtonsoftJson文档格式.docx

《C#NewtonsoftJson文档格式.docx》由会员分享,可在线阅读,更多相关《C#NewtonsoftJson文档格式.docx(9页珍藏版)》请在冰豆网上搜索。

C#NewtonsoftJson文档格式.docx

Json的字符串搭建格式:

JSON数据在名称/值表达中:

1、名称使用字符串,双引号表示

2、值可以是数字,

3、字符串是双引号,

4、数组是方括号,

5、对象是花括号。

Json代码实战之(读取JsonReader和解析JObect)Json

使用JsonReader读取字符串

///<

summary>

///JsonReader顺序解析

/summary>

privatevoidjsonOne()

{

stringjsonText=@"

{"

"

Name"

:

小三"

"

Age"

22"

}"

;

JsonReaderreader=newJsonTextReader(newStringReader(jsonText));

while(reader.Read())

Console.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.Value.ToString()).ToArray<

string>

();

//获取数据

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

o["

创投科技"

]=array;

Console.WriteLine(o.ToString());

/*输出:

*Name:

小红

Age:

22

"

["

]

*/

JArray数组操作和嵌套json

///JArray数组类型

privatevoidjsonArray()

stringJsonArrayText=@"

[{"

小黑"

16"

},{"

小白"

17"

}]"

//反序列化对象的JSON字符串。

JArrayja=(JArray)JsonConvert.DeserializeObject(JsonArrayText);

//指定某个行的名称数据

stringname1=ja[1]["

].ToString();

Console.WriteLine(name1);

//遍历jsons数组

for(inti=0;

i<

ja.Count;

i++)

Console.WriteLine(ja[i].ToString());

 

///Json嵌套性数据

privatevoidjson()

try

xxx"

x1:

shantou:

[{"

zone"

哈尔"

zone_en"

街道"

}],

xia:

[{"

2999"

}]

}"

JObjecto=(JObject)JsonConvert.DeserializeObject(jsonText);

//不加方括号json类型正常输出

Console.WriteLine(o);

//输出全部

//以下输出只对数组有效

Console.WriteLine(o["

]["

x1"

shantou"

][0]);

//输出xxx类下的x1类的shantou类中的数据

][0]["

]);

//输出xxx类下的x1类的shantou类中的Name数组

catch(Exceptionex){Console.WriteLine(ex.ToString());

序列化Json

vjsonWrite写入stringwriter并且输出

///JsonWrite

privatevoidjsonWriter()

StringWritersw=newStringWriter();

JsonWriterjw=newJsonTextWriter(sw);

//json写入StringWriter

jw.WritePropertyName("

格式化爱情"

jw.WriteValue("

努力奋斗"

Console.WriteLine(sw.ToString());

v反序列

构建json数据结构类,用Newtonsoft.Json.JsonConvert.DeserializeObject<

Student>

(jsonText);

写入数据结构类

///Json数据架构类之操作之反序列化对象

///Newtonsoft.Json.JsonConvert.DeserializeObject

privatevoidjsonClass()

{

start"

{"

str1"

小蔡"

22222"

},

str2"

selfworth"

自我提升"

//反序列化公式

Studentjson=Newtonsoft.Json.JsonConvert.DeserializeObject<

json.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数据架构之入口

publicclassStudent

publicDateTimetime{get;

set;

publicstastart{get;

///Json分界接口

publicclasssta

publicstastr1str1{get;

publicstastr2str2{get;

///Json输出用户信息

publicclassstastr1

publicstringName{get;

publicstringAge{get;

///Json输出用户价值

publicclassstastr2

publicstringselfworth{get;

}

v序列化

构建json数据结构类,用JsonSerializer类;

///Json数据架构类之操作之序列化

///JsonSerializer

privatevoidjsonClass2()

//方法一

sts=newst(){Name="

程序员"

Age=20};

//添加数据

//将对象序列化和反序列化为JSON格式。

该JsonSerializer使您能够控制对象的编码成JSON

JsonSerializerser=newJsonSerializer();

//JSON序列化

//写入字符初始化

ser.Serialize(newJsonTextWriter(sw),s);

//参数含义:

第一个参数设置为写入的stringwriter,第二个参数设置为输出的数据结构类

Console.WriteLine(sw.GetStringBuilder().ToString());

\n\n第二种实现方法List泛型"

//方法二

List<

st>

ls=newList<

sts1=newst(){Name="

小K1"

Age=20,ls=newList<

123"

"

456"

789"

}};

sts2=newst(){Name="

小K2"

Age=22,ls=newList<

101112"

131415"

161718"

ls.Add(s1);

ls.Add(s2);

StringWritersw1=newStringWriter();

JsonSerializerjs=newJsonSerializer();

js.Serialize(sw1,ls);

Console.WriteLine(sw1.GetStringBuilder().ToString());

}

///Json数据结构

publicclassst

publicintAge{get;

publicList<

ls{get;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1