[英]How to access children values of a JObject
我有一个 JObject 项目,如下所示:
{
"part":
{
"values": ["engine","body","door"]
"isDelivered": "true"
},
{
"manufacturer":
{
"values": ["Mercedes"]
"isDelivered": "false"
}
}
如何在 C# 中将值作为单个字符串获取?
首先从您的字符串创建 JObject
String json = "{\"part\":{ \"values\": [\"engine\",\"body\",\"door\"], \"isDelivered\": \"true\"},\"manufacturer\":{\"values\": [\"Mercedes\"],\"isDelivered\": \"false\"}}";
JObject jObject = JObject.Parse(json);
然后获取值数组(例如从部分作为)
JArray jArray= (JArray)jObject["part"]["values"];
将字符串的 JArray 转换为字符串数组
string[] valuesArray = jArray.ToObject<string[]>();
加入你的字符串数组并创建一个单一的字符串
String values = string.Join(",",valuesArray);
完整代码在这里..
String json = "{\"part\":{ \"values\": [\"engine\",\"body\",\"door\"], \"isDelivered\": \"true\"},\"manufacturer\":{\"values\": [\"Mercedes\"],\"isDelivered\": \"false\"}}";
JObject jObject = JObject.Parse(json);
JArray jArray= (JArray)jObject["part"]["values"];
string[] valuesArray = jArray.ToObject<string[]>();
String values = string.Join(",",valuesArray);
Console.WriteLine(values);
首先,该 json 格式不正确,它应该是:
{
"part":
{
"values": ["engine","body","door"],
"isDelivered": "true"
},
"manufacturer":
{
"values": ["Mercedes"],
"isDelivered": "false"
}
}
现在,得到答案,我相信这就是你想要的
var jObject = JObject.Parse(testJson);
var children = jObject.Children().Children();
var valuesList = new List<string>();
foreach (var child in children)
{
valuesList.AddRange(child["values"].ToObject<List<string>>());
}
var valuesJsonArray = JsonConvert.SerializeObject(valuesList); // not sure if you want an array of strings or a json array of strings
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.