如何将JSON对象转换为数组

时间:2019-06-19 08:00:49

标签: c# arrays json

我是C#的新手,需要帮助将json对象转换为数组

转换此json

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

收件人

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

4 个答案:

答案 0 :(得分:1)

使用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);

答案 1 :(得分:0)

您将不得不反序列化Json String。反序列化为对象数组。

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

答案 2 :(得分:0)

步骤:

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);

答案 3 :(得分:0)

要使用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
        };
    }
}

NB:前面代码中的变量myJson是一个字符串,将您的json表示为var myJson = "{\"Id\": 1000,\"Name\": \"May\",\"Address\": \"odyssey\",\"Country\": \"USA\",\"Phone\": \"12345\"}";