How to access children values of a JObject

Mas*_*iro 5 c# json.net

I have a JObject item that looks like this:

{

        "part":
         {
             "values": ["engine","body","door"]
             "isDelivered": "true"
        },
        {
        "manufacturer":
         {
             "values": ["Mercedes"]
             "isDelivered": "false" 
         }
}
Run Code Online (Sandbox Code Playgroud)

How can I get the values as a single string in C#?

Dhi*_*rma 6

首先从您的字符串创建 JObject

String json = "{\"part\":{ \"values\": [\"engine\",\"body\",\"door\"], \"isDelivered\": \"true\"},\"manufacturer\":{\"values\": [\"Mercedes\"],\"isDelivered\": \"false\"}}";
JObject jObject = JObject.Parse(json);
Run Code Online (Sandbox Code Playgroud)

然后获取值数组(例如从部分作为)

JArray jArray= (JArray)jObject["part"]["values"];
Run Code Online (Sandbox Code Playgroud)

将字符串的 JArray 转换为字符串数组

string[] valuesArray = jArray.ToObject<string[]>();
Run Code Online (Sandbox Code Playgroud)

加入你的字符串数组并创建一个单一的字符串

String values = string.Join(",",valuesArray);
Run Code Online (Sandbox Code Playgroud)

完整代码在这里..

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);
Run Code Online (Sandbox Code Playgroud)