我正在尝试重新创建这个json:
{
"request": {
" TestRequest": {
"OrderID": {
"orderNumber": "12345",
"category": "ABC"
},
"SecondCategory": "DEF"
}
}
}
我这样做:
JObject jObject = new JObject(new JProperty("request",
new JObject(
new JProperty("TestRequest",
new JObject(
new JProperty("OrderID",
new JProperty("orderNumber", "12345"),
new JProperty("category", "ABC")),
new JProperty("SecondCategory", "DEF")))))
);
但是我收到了这个错误:
无法将
Newtonsoft.Json.Linq.JProperty
添加到Newtonsoft.Json.Linq.JArray
我做错了什么?我该如何解决?任何帮助将不胜感激。
谢谢。
答案 0 :(得分:2)
如果你只是制作一个对象,这会容易得多:
var req = new
{
request = new
{
TestRequest = new
{
OrderID = new
{
orderNumber = "12345",
category = "ABC"
},
SecondCategory = "DEF"
}
}
};
var reqSer = JsonConvert.SerializeObject(req, Formatting.Indented);
输出:
{ "request": { "TestRequest": { "OrderID": { "orderNumber": "12345", "category": "ABC" }, "SecondCategory": "DEF" } } }
匿名对象不必具有与之关联的具体类型,只需创建几乎与您显示的JSON一样的格式,然后将其正常序列化。