0

我正在尝试使用 Json.NET 解析一些 json。json 要么返回一个数组,要么返回一个错误:

{
    "error": "Invalid category"
}

或者:

[
    {
        "category_id": "23",
        "product_name": "Movie1"
    },
    {
        "category_id": "23",
        "product_name": "Movie2"
    }
]

我将如何检查是否存在错误并显示消息?我曾尝试使用 JObject.Parse 但这会引发“当前 JsonReader 项目不是对象”的异常,这是有道理的,因为它在没有错误时返回一个数组。

4

1 回答 1

0

在您的情况下,我会将正确的解析放在 try catch 中,并将错误解析放在 catch 块中,如下所示:

try{
    JObject.Parse... // try to parse your array 
}catch(Exception e){
    JObject.Parse... // try to parse your error
}

因此,如果它无法解析数组列表,它将尝试将字符串解析为 abject(不知道如何调用 JObject 方法,但它可能类似于JObject.Parse<MyObject>("string"))。

于 2012-10-24T03:53:29.500 回答