Newtonsoft.Json怎么在c#项目中使用

  介绍

本篇文章为大家展示了Newtonsoft。Json怎么在c#项目中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1实体类的Json序列化和反序列化

我们以如下的人类举例,其中包含了常用的数据类型:

public  class 人   {   ,public  int  ID {组,得到,,,}      ,public  string  Name {组,得到,,,}      ,public  DateTime  Birthday {组,得到,,,}      ,public  bool  IsVIP {组,得到,,,}   ,   ,public  float  Account {组,得到,,,}      ,public  string [], Favorites {组,得到,,,}   ,   ,public  string  Remark {组,得到,,,}   }

创建一个人<代码> 实例:

Person  Person =, new 人   {   ,ID =, 1,=,Name “张三“,=,,Birthday  DateTime.Parse (“2000 - 01 - 02 -“),=,IsVIP ,真的,=,Account  12.34 f,=,,Favorites  new  string[],{,“吃饭,,,“睡觉“,}   };

1.1 Json序列化

返回不缩进的Json字符串

JsonConvert.SerializeObject(人);      {“ID": 1、“Name":“张三“,“Birthday":“2000 - 01 - 02 t00:00:00",“IsVIP":真的,“Account": 12.34,“Favorites":[“吃饭“,“睡觉“),“Remark":零}

返回缩进的Json字符串

JsonConvert.SerializeObject(人,,Formatting.Indented);      {   ,“ID": 1,   ,“Name":“张三“,   ,“Birthday":,“2000 - 01 - 02 - t00:00:00"   ,“IsVIP":没错,   ,“Account": 12.34,   ,“Favorites":,   “才能吃饭“,   “才能睡觉“;   ,),   ,“Remark":零   }

1.2将不缩进的JSON字符串转成缩进形式

private  string  JsonIndentation (string  str)   {   ,//string  str =, JsonConvert.SerializeObject(实体);   ,JsonSerializer  serializer =, new  JsonSerializer ();   ,TextReader  tr =, new  StringReader (str);   ,JsonTextReader  jtr =, new  JsonTextReader (tr);   ,object  obj =, serializer.Deserialize (jtr);   ,if  (obj  !=, null)   ,{   StringWriter 才能;textWriter =, new  StringWriter ();   JsonTextWriter 才能;jsonWriter =, new  JsonTextWriter (textWriter)   {才能   ,,Formatting =, Formatting.Indented,   ,,Indentation =, 4,   ,,IndentChar =, & # 39;, & # 39;   ,,};   serializer.Serialize才能(jsonWriter, obj);   return 才能textWriter.ToString ();   ,}   其他的,   ,{   return 才能,str;   ,}   }

或者:

private  string  JsonIndentation (string  json)   {   ,JObject  obj =, JObject.Parse (json);   ,return  obj.ToString ();   }

1.3其他设置

JsonSerializerSettings  settings =, new  JsonSerializerSettings ();//,设置日期格式   时间=settings.DateFormatString “yyyy-MM-dd";//,忽略空值   时间=settings.NullValueHandling  NullValueHandling.Ignore;//,缩进   时间=settings.Formatting  Formatting.Indented;      JsonConvert.SerializeObject(人,,设置);

返回:

{   ,“ID": 1,   ,“Name":“张三“,   ,“Birthday":,“2000 - 01 - 02 -“,   ,“IsVIP":没错,   ,“Account": 12.34,   ,“Favorites":,   ,“吃饭“,   ,“睡觉“;   ,)   }

1.4 Json反序列化

JsonConvert.DeserializeObject (Json);

2 JObject使用

2.1创建对象

JObject  obj =, new  JObject ();   obj.Add (“ID",, 1);   obj.Add (“Name",,“张三“);   obj.Add (“Birthday", DateTime.Parse (“2000 - 01 - 02 -“));   obj.Add (“IsVIP",,真的);   obj.Add (“Account",, 12.34度);//,创建数组   JArray  array =, new  JArray ();   array.Add (new  JValue(“吃饭“));   array.Add (new  JValue(“睡觉“));   obj.Add (“Favorites",数组);   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Newtonsoft.Json怎么在c#项目中使用