pla*_*ezy 1 json deserialization c#-4.0
有人可以用这种格式帮助我以正确的方式反序列化json:
[
{person: {name: "James", age:26}},
{person: {name: "Mary", age:36}},
{person: {name: "Kofi", age:46}}
]
Run Code Online (Sandbox Code Playgroud)
我正在使用的代码如下:
WebRequest request = WebRequest.Create("url");
WebResponse response = request.GetResponse();
string json;
using (var sr = new StreamReader(response.GetResponseStream()))
{
json = sr.ReadToEnd();
}
var serializer = new JavaScriptSerializer();
var persons= serializer.Deserialize<List<response>>(json);
foreach (var item in persons)
{
Console.Write("name:" + item.name + " and age: " + item.age);
}
Run Code Online (Sandbox Code Playgroud)
我正在映射的类如下:
public class person
{
public string name{get;set;}
public int age{get; set;}
}
public class response
{
public person person {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我不断为名称和年龄属性获取空值和空字符串.如果有人能帮助我,我会非常感激.
使用内置的DataContractJsonSerializer类也是可能的.见例子:
WebRequest request = WebRequest.Create("url");
WebResponse response = request.GetResponse();
using (Stream stream = response.GetResponseStream())
{
Type serializationTargetType = typeof(List<person>);
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(serializationTargetType);
List<person> jsonDeserialized = (List<person>)jsonSerializer.ReadObject(stream);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7087 次 |
| 最近记录: |