簡體   English   中英

如何將 JSON 對象轉換為數組

[英]How to Convert JSON object to Array

我是 C# 新手需要幫助將 json 對象轉換為數組

轉換這個json

[
    {
        "Id": 1000,
        "Name": "May",
        "Address": "odyssey",
        "Country": "USA",
        "Phone": "12345"
    }
]

var details = {1000,May,odyssey,USA,12345};

使用 Newtonsoft.Json 將 JSON 反序列化為指定的 .net 類型。 您也可以反序列化為一個類,見下文:

public class Person
{
 public int Id {get;set;}
 public string Name {get;set;}
 public string Address {get;set;}
 public string Country {get;set;}
 public string Phone {get;set;}
}

var details = JsonConvert.DeserializeObject<Person>(json);

您將不得不反序列化 Json 字符串。 反序列化為對象數組。

JavaScriptSerializer js = new JavaScriptSerializer();
yourClass[] items = js.Deserialize<Yourclass[]>(yourJSONcontent);

腳步:

1. 創建模型。 2. 獲取字符串中的數據 3. 反序列化對象

如果您對如何從 json 創建 C# 模型感到困惑,請使用此鏈接。

https://app.quicktype.io

使用此模型。

    public class Test
    {
        [JsonProperty("Id")]
        public long Id { get; set; }

        [JsonProperty("Name")]
        public string Name { get; set; }

        [JsonProperty("Address")]
        public string Address { get; set; }

        [JsonProperty("Country")]
        public string Country { get; set; }

        [JsonProperty("Phone")]
        [JsonConverter(typeof(ParseStringConverter))]
        public long Phone { get; set; }
    }


string data="Your Json String"

var details = JsonConvert.DeserializeObject<Test>(data);

要從您的 json 值中創建一個列表,您可以使用 JObject,與其他問題相反,您不必知道存儲在 Json 中的對象。

JObject myObject = JsonConvert.DeserializeObject<JObject>(myJson);

List<object> myList = new List<object>();

foreach (var element in myObject)
{
    myList.Add(element.Value);
}

如果您已經知道您的 json 是由什么組成的,您可以創建一個代表您的對象的類並實現接口 IEnumerable。

var myObject = JsonConvert.DeserializeObject<MyClass>(myJson);
var myArray = myObject2.ToArray():

public class MyClass
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Address { get; set; }
    public string Country { get; set; }
    public int Phone { get; set; }

    public object[] ToArray()
    {
        return new object[]
        {
            Id,
            Name,
            Address,
            Country,
            Phone
        };
    }
}

注意:前面代碼中的變量 myJson 是一個字符串,將你的 json 表示為var myJson = "{\\"Id\\": 1000,\\"Name\\": \\"May\\",\\"Address\\": \\"odyssey\\",\\"Country\\": \\"USA\\",\\"Phone\\": \\"12345\\"}";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM