目前在我们的项目中,我们有一个具有字符串描述的类 此外,我们有一个对象。
Object Foo {
Apple: {parts: 5},
Description: theproblematicobject,
,,,,
}
描述设置为类型字符串。因此,需要将对象序列化以指定为描述的值。
最后我们将foo作为JSONConvert.serializer(foo)返回。
收到后,对象foo的格式很好JSON
,但描述仍然是一个序列化的字符串。
是否有一些函数组合,我可以使用如何序列化有问题的对象(因此它适合字符串类型),并在请求反序列化时,它成为一个格式良好的json而不是。
结果:
"Name": "Friday, 21 October 2016 New...",
"Description": "{\"HoursList\":[],\"EmployeeFullname\":\"..........",
"SwipeLeftAction": null,
"SwipeLeftDescription": null,
"SwipeLeftColor": null,
"SwipeRightAction": null,
"SwipeRightDescription": null,
"SwipeRightColor": null,
"ClickAction": "uiweb/em......."
}
渴望:
"Name": "Friday, 21 October 2016 New...",
"Description": {"HoursList":[],
"EmployeeFullname" : ".........."
}
"SwipeLeftAction": null,
"SwipeLeftDescription": null,
"SwipeLeftColor": null,
"SwipeRightAction": null,
"SwipeRightDescription": null,
"SwipeRightColor": null,
"ClickAction": "uiweb/em......."
}
答案 0 :(得分:0)
description
的类型是一个字符串。您可以从JSON本身清楚地看到它。这意味着你从任何自动反序列化器中获取一个字符串。
如果你想要一个对象,请在描述字段中运行第二个JSON反序列化器。
答案 1 :(得分:-1)
可能你有任何格式化程序或其他逻辑错误的序列化。您使用的是哪个库版本?
最新的JsonConvert.SerializeObject效果很好。
这是一个小例子:
private class Foo
{
public int Apple { get; set; }
public Description Description { get; set; }
}
private class Description
{
public int[] HoursList { get; set; }
}
var a = new Foo
{
Apple = 1,
Description = new Description
{
HoursList = new[] {1}
}
};
var b = JsonConvert.SerializeObject(a);
结果是格式正确的json字符串:
{"Apple":1,"Description":{"HoursList":[1]}}
答案 2 :(得分:-1)
试试这个:
将有问题的对象序列化为XML字符串而不是JSON,如下所示: Serialize an object to XML
将XML转换为JSON,如下所示: How to convert JSON to XML or XML to JSON?