如何使用动态键返回json对象数组,例如:
[
"dynamic prop 1": {
"title": "abc",
"sku": "123"
},
"dynamic prop 2": {
"title": "xyz",
"sku": "789"
}
]
默认格式为:
[
{
"title": "abc",
"sku": "123"
},
{
"title": "xyz",
"sku": "789"
}
]
答案 0 :(得分:1)
使用JObject解决了问题:
JObject jProducts= new JObject();
foreach (var p in products)
{
var o = new JObject()
{
{ "title", p.Title},
{ "sku", p.Sku }
};
jProducts.Add(p.Name, o);
}
return Request.CreateResponse(HttpStatusCode.OK, jProducts);
感谢william-xifaras
答案 1 :(得分:0)
使用返回对象列表。 哪个对象(比如 MyObj )具有属性:title和sku。 那么你将得到理想的输出。 您要返回的数据如下所示:
List<MyObj> data=new List<MyObj>();
// add your objects.
// return this list object.
你会得到你想要的格式的输出。
答案 2 :(得分:0)
然后返回动态对象。
return new{ property1Name=MyObj1,property2Name=MyObj2}
我希望这对你有用。
否则请参考以下链接从json生成c#类并在ur解决方案中创建所需的模型。 https://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjEl7efl_XNAhWJs48KHYDHAUsQFggfMAA&url=http%3A%2F%2Fjson2csharp.com%2F&usg=AFQjCNEbR-mTF-PU4BYWff3opCDcJOl0ag&bvm=bv.127178174,d.c2I
答案 3 :(得分:0)
然后你推荐
Tuple data type and learn about it.
它可能会帮助你。