【发布时间】:2017-06-13 09:04:14
【问题描述】:
我有一个 JSON,它基本上看起来像这样:
{
"body":
{
"mode": "raw",
"raw": "{
\"Token\" : \"123123\", \"queryName\" : \"testMethod\" ,\"dataTestToSEND\" :{\"IDs\":[\"B00448MZUW\",\"B071F7LBN6\",\"B01BBZJZHQ\"],\"Marketplace\":\"southAmerica\",\"Region\":\"West\",\"PricingMethod\":0}} "a
},
"description": "some description here"
}
}
当我将它转换为 C# 对象类时,我得到了这个:
public class Body
{
public string mode { get; set; }
public string raw { get; set; }
}
public class RootObject
{
public Body body { get; set; }
public string description { get; set; }
}
我在这里使用了 json2csharp 工具..
现在让我感到困惑的是您可以看到的“原始”属性。该工具将其转换为字符串,但这对我来说真的不像字符串?
在我看来,一个原始的,应该是一个包含以下内容的类:
public class Raw
{
public string Token { get; set; }
public string queryName { get; set; }
public List<string//?not sure which type does this needs to be set to?>
dataTestToSEND { get; set }
public string marketplace { get; set; }
public string Region { get; set }
}
有人可以帮我解决这个问题吗?如何为这个 JSON 构建一组适当的类和对象?我现在很困惑……
【问题讨论】:
-
原始属性确实是一个包含 json 文档的字符串
-
@SirRufo,如果我没有可以将其转换为的可表示的类和对象集,我应该如何以这种形式构造它?
-
你将
raw中的所有“”都隐藏起来,并将其包含在“”中,所以它是一个字符串。 -
请通过任何在线验证器检查您的 JSON 字符串。看来您有问题('a' 和右括号)。然后尝试使用任何反序列化工具对其进行反序列化。
标签: c# asp.net json asp.net-mvc c#-4.0