解析包含数组和对象的 JSON 文件



我有一个大的json文件,它有5个子节点,其中4个是对象,一个是数组。

当我循环浏览它们时,我用下面的代码点击数组,但它失败了,抱怨对象不是"jObject"类型。如果我放 JArray,它会修复它,但我不确定如何事先检查 json 是 jObject 还是 jArray?

for (int i = 0; i < jsonChildObjectsArray.Length; i++)
{
    string jsonCategoryContents = json[jsonChildCategorysArray[i]].ToString();
    jsonChildObjectsArray[i] = jsonCategoryContents;        
    JObject jsonCategoryObject = JObject.Parse(jsonCategoryContents); 
           //error's here on 5th element as it is a jArray type.
}
你可以

改用JToken.Parse

JToken token = JToken.Parse(jsonCategoryContents);
if (token.Type == JTokenType.Object) 
{
    JObject jsonCategoryObject = token.ToObject<JObject>();
}
else if (token.Type == JTokenType.Array)
{
    JArray jsonCategoryArray = token.ToObject<JArray>();
}

相关内容

  • 没有找到相关文章