我有一個模型,它看起來像這樣:嵌套字符串反序列化模型表示在C#中的JSON數據
class Nested{
public string Name {get; set;}
public int Id {get; set;}
}
class Model{
[JsonProperty]
public Nested N {get; set;}
public string Name {get; set;}
public int Id {get; set;}
}
和該標記是這樣的:
<input asp-for="Name">
<input asp-for="id">
<input type="hidden" name="n" value="@JsonConvert.SerializeObject(new Nested())">
然而,當我發佈這種形式反向失敗的反序列化,因爲N
字段看起來像編碼兩次。因此,此代碼的工作:
var b = JsonConvert.DeserializeAnonymousType(model1, new { N = ""});
var c = JsonConvert.DeserializeObject<Nested>(b.N);
但是這一次失敗:
var d = JsonConvert.DeserializeAnonymousType(model1, new {N = new Nested()});
我需要的是使其與JsonConvert.DeserializeObject<Model>(model1)
工作。我應該改變什麼才能使它工作?
例如:
{"name":"Abc","id":1,"n":"{\"id\":2,\"name\":\"BBB\"}"}
在this question描述,但我在尋找一個優雅,簡單的解決方案,這是不提出同樣的問題。
沒有示例JSON數據的JSON序列化問題? – niksofteng
那麼,我添加了一個例子,但是基於類似問題和情況的鏈接,反序列化在一個案例中起作用,在其他案例中不起作用 - 很明顯,json結構不是問題。那麼,即使問題已經確定 - 解決唯一的問題。 – Natasha