我有一個 Json,我想在我的 c# 物件中得到它。
var json = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
_ = JsonConvert.DeserializeObject<object>(json);
在這里,我以以下格式獲取 Json:
{{
"pipeline" : {
"url" : "url1",
"idP" : 1
},
"id": 1234,
"name" : "test1",
"state" : "inprogress",
"date" : "date"
}}
現在,從這個 JSON 中,我只想要 id 和 idP。
我怎樣才能做到這一點?我應該創建一個包含所有屬性的類嗎?
我可以得到一個示例代碼嗎?
uj5u.com熱心網友回復:
如果只需要 id 和 idP,則不需要創建類和反序列化 json。你可以決議它
var jsonParsed = JObject.Parse(json);
var id = (Int32)jsonParsed["id"]; //1234
var idP = (Int32) jsonParsed["pipeline"]["idP"]; //1
但是您必須通過洗掉額外的對 {} 來修復您的 json。如果是拼寫錯誤,您可以手動制作。但是如果是bug,可以在決議之前使用這段代碼
json=json.Substring(1,json.Length-2);
或者例如你可以創建一個類
public class Pipeline
{
public string url { get; set; }
public int idP { get; set; }
}
并且只反序列化 json 的一部分
Pipeline pipeline = jsonParsed["pipeline"].ToObject<Pipeline>();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/431206.html
