解析JSON字符串

时间:2015-02-24 13:09:01

标签: c# json

我有一个JSON字符串,如跟随字符串

{
    FlightId : 1,
    [
        {
            AirplaneId : 1
        },
        {
            AirplaneId : 2
        }
    ]
}

我已经定义了两个类来将这个JSON字符串转换为这两个类的对象:

class Airplane
{
    int AirplaneId;
}

class Flight
{
    int FlightId;
    List<Airplane> Airplanes;
}

在将字符串转换为这些类对象的过程中,我收到错误。该错误告诉我无法识别JSON字符串,我应该在我的JSON字符串中为列表定义名称。我无法更改JSON字符串,如何定义我的类以转换此JSON字符串

2 个答案:

答案 0 :(得分:3)

是的,您收到错误,因为它不是有效的JSON。

为了使其有效,您需要有一个匹配列表值的键:

{
    "FlightId" : 1,
    "Airplanes": [
        {
            "AirplaneId" : 1
        },
        {
            "AirplaneId" : 2
        }
    ]
}

此外,您需要将键值包装在引号中。

您可以在将来使用https://www.jsoneditoronline.org/来确保您的JSON字符串有效。

答案 1 :(得分:1)

问题是你的数组,你需要为它定义一个键,如:

{
    "FlightId" : 1,
    "Airplanes": [
        {
            "AirplaneId" : 1
        },
        {
            "AirplaneId" : 2
        }
    ]
}

Airplanes以后必须是您班级的列表。

JSON是一个&#34; Key-Value&#34;基于格式,因此每个值(甚至数组)都需要一个键。