欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

NewtonsoftJson的使用方法

本篇內(nèi)容介紹了“NewtonsoftJson的使用方法”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

泌陽網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站2013年開創(chuàng)至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站

引言

json是我們在工作中經(jīng)常用到的一種數(shù)據(jù)傳輸格式,開始過程中解析json是我們經(jīng)常面對的問題。NewtonsoftJson是c#的一套json處理封裝類,它可以高效,方便地幫助我們處理json。

NetonSoftJson提供了完整的使用文檔,文檔地址如下:Json.NET Documentation

NetonSoftJson的不同使用場景

常用方法 序列化和反序列化

這應(yīng)該是我們最常用的倆個(gè)方法了

JsonConvert.DeserializeObject<T>(string json)//反序列化
JsonConvert.SerializeObject(object obj) //序列化

高級特性

參考文章 Newtonsoft.Json高級用法

某些字段不想被反序列化

使用JsonIgnore特性標(biāo)簽

public class Person
{
    public int Age { get; set; }

    public string Name { get; set; }

	[JsonIgnore]
    public string Sex { get; set; }
}
自定義序列化名稱
public class Person
{
    public int Age { get; set; }

    public string Name { get; set; }

    [JsonProperty(PropertyName = "SepcialSex")]
    public string Sex { get; set; }
}
解析字面量字符串

首先構(gòu)建一個(gè)json對象,描述了一個(gè)老師的實(shí)體,里面包含老師的基本屬性(名稱、年齡),所管理的班級屬性,所管理的班級的學(xué)生數(shù)組

{
  "name": "張三",
  "age": "10",
  "classroom": {
    "name": "1年級1班",
    "desc": "描述"
  },
  "students": [
    {
      "age": "小名"
    },
    {
      "age": "小紅"
    }
  ]
}

接下來我們使用Newtonsoftjson解析字符串并獲取到我們需要的信息

string jsonStr = "{\"name\":\"張三\",\"age\":\"10\",\"classroom\":{\"name\":\"1年級1班\",\"desc\":\"描述\"},\"students\":[{\"name\":\"小名\"},{\"name\":\"小紅\"}]}";
JObject jObject = JObject.Parse(jsonStr);

獲取姓名

Console.WriteLine("name is " + jObject["name"].ToString());
Console.WriteLine("age is " + jObject.GetValue("age").ToString());

獲取班級信息

Console.WriteLine("classroom name is " + jObject["classroom"]["name"]);

獲取學(xué)生信息

JArray jArray = JArray.Parse(jObject["students"].ToString());
foreach (var arr in jArray)
{
    JObject jObj = JObject.Parse(arr.ToString());
    string name = jObj["name"].ToString();
    Console.WriteLine("student name  is " + name);
}

判斷key是否存在

//key 不存在
if (jObject.Property("abc") != null)
{
	Console.WriteLine(jObject.Property("abc").Value.ToString());
}
else
{
	Console.WriteLine("當(dāng)前key不存在");
}

WebApi下的應(yīng)用

項(xiàng)目開發(fā)中不管是前臺(tái)還是后臺(tái)都會(huì)遇到煩人的null,數(shù)據(jù)庫表中字段允許空值,則代碼實(shí)體類中對應(yīng)的字段類型為可空類型Nullable<>,如int?,DateTime?,null值字段序列化返回的值都為null,前臺(tái)對應(yīng)字段賦值需要做null值判斷,怎么才能全局把null替換為空。

.NET Core 處理 WebAPI JSON 返回?zé)┤说膎ull為空

“NewtonsoftJson的使用方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

網(wǎng)站欄目:NewtonsoftJson的使用方法
標(biāo)題網(wǎng)址:http://www.chinadenli.net/article12/gepddc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)虛擬主機(jī)App開發(fā)網(wǎng)站排名自適應(yīng)網(wǎng)站Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名