如何在C#中从JSON中删除属性容器?
我对包含多个元素的JSON有一个问题,我想转换一些JSON对象数组,而不使用包含元素本身的id。基本上我想要的是转换此结构:如何在C#中从JSON中删除属性容器?,c#,json,json.net,C#,Json,Json.net,我对包含多个元素的JSON有一个问题,我想转换一些JSON对象数组,而不使用包含元素本身的id。基本上我想要的是转换此结构: { "SubscriptionStorages": { "1": { "Type": "subscriberstorage", "SubscriberStorage_Id": 1, "SubscriberStorage_AdminDescription": "JM Basic", "SubscriberStora
{
"SubscriptionStorages": {
"1": {
"Type": "subscriberstorage",
"SubscriberStorage_Id": 1,
"SubscriberStorage_AdminDescription": "JM Basic",
"SubscriberStorage_MaxStorage": 268435456000
},
"2": {
"Type": "subscriberstorage",
"SubscriberStorage_Id": 2,
"SubscriberStorage_AdminDescription": "JM Standard",
"SubscriberStorage_MaxStorage": 536870912000
}
}
}
{
"SubscriptionStorages": [
{
"Type": "subscriberstorage",
"SubscriberStorage_Id": 1,
"SubscriberStorage_AdminDescription": "JM Basic",
"SubscriberStorage_MaxStorage": 268435456000
},
{
"Type": "subscriberstorage",
"SubscriberStorage_Id": 2,
"SubscriberStorage_AdminDescription": "JM Standard",
"SubscriberStorage_MaxStorage": 536870912000
}
]
}
对于该结构:
{
"SubscriptionStorages": {
"1": {
"Type": "subscriberstorage",
"SubscriberStorage_Id": 1,
"SubscriberStorage_AdminDescription": "JM Basic",
"SubscriberStorage_MaxStorage": 268435456000
},
"2": {
"Type": "subscriberstorage",
"SubscriberStorage_Id": 2,
"SubscriberStorage_AdminDescription": "JM Standard",
"SubscriberStorage_MaxStorage": 536870912000
}
}
}
{
"SubscriptionStorages": [
{
"Type": "subscriberstorage",
"SubscriberStorage_Id": 1,
"SubscriberStorage_AdminDescription": "JM Basic",
"SubscriberStorage_MaxStorage": 268435456000
},
{
"Type": "subscriberstorage",
"SubscriberStorage_Id": 2,
"SubscriberStorage_AdminDescription": "JM Standard",
"SubscriberStorage_MaxStorage": 536870912000
}
]
}
有什么简单的方法吗?
这是我到目前为止所拥有的,但并不好。。。
我错过了什么
List<string> items = new List<string>();
if (itemsList != null)
{
if (itemsList.Count > 0)
{
JToken outer = JToken.Parse(jsonBody);
foreach (JToken t in outer)
{
items.Add(t.ToString());
}
}
}
return items;
List items=newlist();
if(itemsList!=null)
{
如果(itemsList.Count>0)
{
JToken outer=JToken.Parse(jsonBody);
foreach(外部的jtokent)
{
items.Add(t.ToString());
}
}
}
退货项目;
您可以这样转换JSON:
var jo = JObject.Parse(originalJson);
jo["SubscriptionStorages"] = new JArray(
jo["SubscriptionStorages"]
.Children<JProperty>()
.Select(jp => jp.Value)
);
var modifiedJson = jo.ToString();
var jo=JObject.Parse(原始JSON);
jo[“订阅存储”]=新JArray(
jo[“订阅存储”]
.儿童()
.Select(jp=>jp.Value)
);
var modifiedJson=jo.ToString();
Fiddle:您想要的结果不是有效的JSON。你是说
订阅存储
是一个数组,即使用[…]
而不是{…}
?是的,我的错。你做得对。