簡體   English   中英

如何解析JSON而無需其他類?

[英]How to parse json without additional class?

我只有一種類型的json,其中包括一些屬性

{"Agreement":{"agreementId":"1","CreatedOn":"2016-09-02T09:25:05","ModifiedOn":"2019-06-30T23:30:00.173"}}

我正在使用Newtonsoft JsonConvert。

是否可以將其解析為這樣的模型?

public class Agreement
{
public int Id {get; set;}
public DateTime CreatedOn {get; set;}
public DateTime ModifiedOn {get; set;}
}

現在,我必須聲明其他類,其中包含此類型

public class AgreementAdditional
{
public Agreement Agreement {get; set;}
}

可能是它的重復項,但我無法正確搜索它

您可以使用JObject類。

var json = File.ReadAllText("json1.json");
var example = JObject.Parse(json)["Agreement"].ToObject<Agreement>();

盡管我對AgreementAdditional類沒有任何問題,因為這是您輸入的確切格式。

您可以使用dynamic

使用Newtonsoft,您可以這樣做:

dynamic result = JsonConvert.DeserializeObject(json);

使用JObject,您可以像這樣:

dynamic result = JObject.Parse(json);

要使用動態對象,請在json文件上使用相同的名稱使用它。

result.Agreement.agreementId
...

但是,創建類仍然是代碼維護的更好選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM