我有一个模型,它看起来像这样:嵌套字符串反序列化模型表示在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