如何使用 json 内容反序列化 json 属性
How to deserialize json property with json content
我有这个json:
{
"Entity":"MP3",
"Body":"{"name":"COKE","category":"CANDIES","sales":123.0}"
}
正文 属性 包含 json 内容。如何反序列化它?我正在使用 NewtonJson 并收到此错误:
After parsing a value an unexpected character was encountered: n. Path 'Body', line 1,
JsonConvert.DeserializeObject<ClientJsonData>(jsonDecode)
public class ClientJsonData
{
public string Body { get; set; }
public string Entity { get; set; }
}
我的根 class 包含 Entity 和 Body 字符串属性
您的输入无效JSON。如果你想让 body 成为一个对象,它需要看起来像这样。
{
"Entity":"MP3",
"Body": {"name":"COKE","category":"CANDIES","sales":123.0}
}
或者这个,如果你想让正文成为一个字符串,它会转义引号
{
"Entity":"MP3",
"Body": "{\"name\":\"COKE\",\"category\":\"CANDIES\",\"sales\":123.0}"
}
由于您的 .NET 对象有两个字符串,看来您需要后者。
完成后,您可以像往常一样使用 JSON.NET API
var myObject = JsonConvert.DeserializeObject<ClientJsonData>(myInput);
我有这个json:
{
"Entity":"MP3",
"Body":"{"name":"COKE","category":"CANDIES","sales":123.0}"
}
正文 属性 包含 json 内容。如何反序列化它?我正在使用 NewtonJson 并收到此错误:
After parsing a value an unexpected character was encountered: n. Path 'Body', line 1,
JsonConvert.DeserializeObject<ClientJsonData>(jsonDecode)
public class ClientJsonData
{
public string Body { get; set; }
public string Entity { get; set; }
}
我的根 class 包含 Entity 和 Body 字符串属性
您的输入无效JSON。如果你想让 body 成为一个对象,它需要看起来像这样。
{
"Entity":"MP3",
"Body": {"name":"COKE","category":"CANDIES","sales":123.0}
}
或者这个,如果你想让正文成为一个字符串,它会转义引号
{
"Entity":"MP3",
"Body": "{\"name\":\"COKE\",\"category\":\"CANDIES\",\"sales\":123.0}"
}
由于您的 .NET 对象有两个字符串,看来您需要后者。
完成后,您可以像往常一样使用 JSON.NET API
var myObject = JsonConvert.DeserializeObject<ClientJsonData>(myInput);