Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.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#_Arrays_Json - Fatal编程技术网

C# 如何将JSON对象转换为数组

C# 如何将JSON对象转换为数组,c#,arrays,json,C#,Arrays,Json,我不熟悉C#需要帮助将json对象转换为数组 转换此json [ { "Id": 1000, "Name": "May", "Address": "odyssey", "Country": "USA", "Phone": "12345" } ] 到 您必须反序列化Json字符串。反序列化为对象数组 JavaScriptSerializer js = new JavaScriptSerializer(

我不熟悉C#需要帮助将json对象转换为数组

转换此json

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


您必须反序列化Json字符串。反序列化为对象数组

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

使用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);
公共类人物
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共字符串地址{get;set;}
公共字符串国家{get;set;}
公用字符串电话{get;set;}
}
var details=JsonConvert.DeserializeObject(json);
步骤:

1。创建模型。 2.获取字符串中的数据 3.反序列化对象

如果您不知道如何从json创建C#模型,请使用此链接

使用这个模型

    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);
公共类测试
{
[JsonProperty(“Id”)]
公共长Id{get;set;}
[JsonProperty(“名称”)]
公共字符串名称{get;set;}
[JsonProperty(“地址”)]
公共字符串地址{get;set;}
[JsonProperty(“国家”)]
公共字符串国家{get;set;}
[JsonProperty(“电话”)]
[JsonConverter(类型(ParseStringConverter))]
公共长电话{get;set;}
}
string data=“您的Json字符串”
var details=JsonConvert.DeserializeObject(数据);

要从json值中列出一个列表,您可以使用JObject,与其他问题相反,您不必知道json中存储的对象

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

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

foreach (var element in myObject)
{
    myList.Add(element.Value);
}
JObject myObject=JsonConvert.DeserializeObject(myJson);
List myList=新列表();
foreach(myObject中的var元素)
{
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
        };
    }
}
var myObject=JsonConvert.DeserializeObject(myJson);
var myArray=myObject2.ToArray():
公共类MyClass
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共字符串地址{get;set;}
公共字符串国家{get;set;}
公用int电话{get;set;}
公共对象[]ToArray()
{
返回新对象[]
{
身份证件
名称
地址:,
国家,,
电话
};
}
}
注意:前面代码中的变量myJson是一个字符串,表示json为
var myJson=“{\'Id\':1000,\'Name\':\'May\',\'Address\':\'odyssey\',\'Country\':\'USA\',\'Phone\':\'12345\'

您从哪里获得“印度塞勒姆拉姆”
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
        };
    }
}