我是C#的新手,需要帮助将json对象转换为数组
转换此json
[
{
"Id": 1000,
"Name": "May",
"Address": "odyssey",
"Country": "USA",
"Phone": "12345"
}
]
收件人
var details = {1000,May,odyssey,USA,12345};
答案 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#模型,请使用此链接。
使用此模型。
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\"}";