Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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,我正在做一个学校的项目。我还是C#的新手,我从一个API请求JSON,如下所示: [ { "id": 8402, "klant_id": 8401, "datum": "2021-03-25", "arrangement": "Pitch en Golf 18 holes", "p

我正在做一个学校的项目。我还是C#的新手,我从一个API请求JSON,如下所示:

[
    {
        "id": 8402,
        "klant_id": 8401,
        "datum": "2021-03-25",
        "arrangement": "Pitch en Golf 18 holes",
        "personen": 30,
        "pending_online_booking": true,
        "referentie": "8401-1",
        "_links": {
            "curies": [
                {
                    "name": "recras",
                    "href": "/api_docs/{rel}.html",
                    "templated": true
                },
            ],
            "recras:diensten_bij_boeking": {
                "href": "/api2.php/boekingen/8402/diensten"
            },
            "recras:invoices": {
                "href": "/api2.php/boekingen/8402/facturen"
            }
        }
    }
]
我需要把所有的东西都放在一个数组中,这样我就可以使用它了。
我如何才能做到这一点?

您需要做的是将返回的json反序列化为C#对象。 您可以使用一个在线工具,例如,它将为您提供以下类似于C#的内容,您可以根据需要对其进行更改:

public class Cury
{
    public string name { get; set; }
    public string href { get; set; }
    public bool templated { get; set; }
}

public class RecrasDienstenBijBoeking
{
    public string href { get; set; }
}

public class RecrasInvoices
{
    public string href { get; set; }
}

public class Links
{
    public List<Cury> curies { get; set; }

    [JsonProperty("recras:diensten_bij_boeking")]
    public RecrasDienstenBijBoeking RecrasDienstenBijBoeking { get; set; }

    [JsonProperty("recras:invoices")]
    public RecrasInvoices RecrasInvoices { get; set; }
}

public class Root
{
    public int id { get; set; }
    public int klant_id { get; set; }
    public string datum { get; set; }
    public string arrangement { get; set; }
    public int personen { get; set; }
    public bool pending_online_booking { get; set; }
    public string referentie { get; set; }
    public Links _links { get; set; }
}
公共类Cury
{
公共字符串名称{get;set;}
公共字符串href{get;set;}
公共布尔模板化{get;set;}
}
公共类RecrasDienstenBijBoeking
{
公共字符串href{get;set;}
}
公共娱乐
{
公共字符串href{get;set;}
}
公共类链接
{
公共列表居里{get;set;}
[JsonProperty(“recras:diensten_bij_boeking”)]
public RecrasDienstenBijBoeking RecrasDienstenBijBoeking{get;set;}
[JsonProperty(“recras:发票”)]
公共重现重现重现重现{get;set;}
}
公共类根
{
公共int id{get;set;}
公共int klant_id{get;set;}
公共字符串数据{get;set;}
公共字符串排列{get;set;}
公共int personen{get;set;}
公共bool挂起在线预订{get;set;}
公共字符串引用{get;set;}
公共链接_链接{get;set;}
}
参考:

您需要
Newtonsoft.Json
(在VisualStudio中使用Nuget下载此软件包)

要将
myJsonString
转换为
myArray

object[] myArray = JsonConvert.DeserializeObject<object>(myJsonString);
object[]myArray=JsonConvert.DeserializeObject(myJsonString);

当你说你想把所有的东西都放在一个数组中是什么意思?您是指JSON中的对象数组,还是希望以某种方式将所有值展平到一个数组中?您需要的是将JSON反序列化为对象列表(类类型)。创建包含所有json字段的类,然后反序列化为
var values=JsonSerializer.deserialize之后我会做什么?