C# 如何将JSON放入数组中?
我正在做一个学校的项目。我还是C#的新手,我从一个API请求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
[
{
"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之后我会做什么?