我有一个大的json文件,它有5个子节点,其中4个是对象,1个是数组。
当我循环浏览它时,我使用下面的代码命中数组并且它失败了,抱怨该对象不是' 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.
}
答案 0 :(得分:2)
您可以改为使用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>();
}