Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 解析JSON字符串_C#_Json - Fatal编程技术网

C# 解析JSON字符串

C# 解析JSON字符串,c#,json,C#,Json,我有一个JSON字符串,如下所示 { FlightId : 1, [ { AirplaneId : 1 }, { AirplaneId : 2 } ] } 我定义了两个类来将这个JSON字符串转换为这两个类的对象: class Airplane { int AirplaneId; } class Flight { int FlightId;

我有一个JSON字符串,如下所示

{
    FlightId : 1,
    [
        {
            AirplaneId : 1
        },
        {
            AirplaneId : 2
        }
    ]
}
我定义了两个类来将这个JSON字符串转换为这两个类的对象:

class Airplane
{
    int AirplaneId;
}

class Flight
{
    int FlightId;
    List<Airplane> Airplanes;
}
级飞机
{
国际机场;
}
班机
{
int FlightId;
列出飞机名单;
}

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

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

{
    "FlightId" : 1,
    "Airplanes": [
        {
            "AirplaneId" : 1
        },
        {
            "AirplaneId" : 2
        }
    ]
}
飞机
必须在以后的课程中列出


JSON是一种基于“键值”的格式,因此每个值(甚至数组)都需要一个键。

问题在于数组,您需要为它定义一个键,如:

{
    "FlightId" : 1,
    "Airplanes": [
        {
            "AirplaneId" : 1
        },
        {
            "AirplaneId" : 2
        }
    ]
}
飞机
必须在以后的课程中列出


JSON是一种基于“键值”的格式,因此每个值(甚至数组)都需要一个键。

是的,您会收到一个错误,因为它不是有效的JSON

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

{
    "FlightId" : 1,
    "Airplanes": [
        {
            "AirplaneId" : 1
        },
        {
            "AirplaneId" : 2
        }
    ]
}
此外,还需要将键值用引号括起来


您可以在将来使用以确保JSON字符串有效。

是的,您会收到一个错误,因为它不是有效的JSON

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

{
    "FlightId" : 1,
    "Airplanes": [
        {
            "AirplaneId" : 1
        },
        {
            "AirplaneId" : 2
        }
    ]
}
此外,还需要将键值用引号括起来


您可以在将来使用,以确保您的JSON字符串有效。

您可以编辑您的问题,向我们展示您用于反序列化JSON字符串的代码,以及准确的错误消息吗?“我有一个类似于下面的JSON字符串…”不,您没有。您有一些看起来像JSON的东西,但实际上不是。因此,您不能使用JSON反序列化程序来解析它。您可以编辑您的问题,向我们展示您用于反序列化JSON字符串的代码,以及准确的错误消息吗?“我有一个类似于下面的JSON字符串…”不,您没有。您有一些看起来像JSON的东西,但实际上不是。因此,您不能使用JSON反序列化程序来解析它。你觉得怎么样@AliForoughi我认为要么他们错了,不知道JSON是什么,要么是你无意中粘贴了一个非字符串(按可能性降序)。@AliForoughi如果你确定,你没有任何复制粘贴错误,请向他们发送JSON规范。这是allI与我的JSON字符串提供程序服务的对话,他们相信他们给了我一个标准的JSON字符串。你觉得怎么样@AliForoughi我认为要么他们错了,不知道JSON是什么,要么是你无意中粘贴了一个非字符串(按可能性降序)。@AliForoughi如果你确定,你没有任何复制粘贴错误,请向他们发送JSON规范。这就是全部