C# 如何将字典反序列化为Xamarin形式的对象
当我向服务器请求时,我会收到一个作为字典的响应:C# 如何将字典反序列化为Xamarin形式的对象,c#,json,xamarin.forms,C#,Json,Xamarin.forms,当我向服务器请求时,我会收到一个作为字典的响应: { data=({ gender=female; id=3490074761922520002; name=joy; picture={ data={ url=""; }; };
{
data=({
gender=female;
id=3490074761922520002;
name=joy;
picture={
data={
url="";
};
};
},
{
gender=female;
id=8242568878166175182;
name="name";
picture={
data={
url="";
};
};
})
paging={
next="";
}
summary={
"total_count"=66;
};
}
如何将此响应字典反序列化到对象 另一种去序列化的方法是:
public async Task<List<Produto>> GetProdutosAsync()
{
try
{
string url = "http://www.something.com/api/produtos/";
var response = await client.GetStringAsync(url);
var produtos = JsonConvert.DeserializeObject<List<Produto>>(response);
return produtos;
}
catch (Exception ex)
{
throw ex;
}
}
public异步任务GetProdutosAsync()
{
尝试
{
字符串url=”http://www.something.com/api/produtos/";
var response=await client.GetStringAsync(url);
var produtos=JsonConvert.DeserializeObject(响应);
返回产品;
}
捕获(例外情况除外)
{
掷骰子;
}
}
将您的类型更改为produto。其他取消序列化的方法是:
public async Task<List<Produto>> GetProdutosAsync()
{
try
{
string url = "http://www.something.com/api/produtos/";
var response = await client.GetStringAsync(url);
var produtos = JsonConvert.DeserializeObject<List<Produto>>(response);
return produtos;
}
catch (Exception ex)
{
throw ex;
}
}
public异步任务GetProdutosAsync()
{
尝试
{
字符串url=”http://www.something.com/api/produtos/";
var response=await client.GetStringAsync(url);
var produtos=JsonConvert.DeserializeObject(响应);
返回产品;
}
捕获(例外情况除外)
{
掷骰子;
}
}
为您的类型更改produto。[更新答案]
经过两天的寻找,我终于找到了解决这个问题的方法。
这是我的密码:
var err = new NSError();
var theJSONData = NSJsonSerialization.Serialize(response.Data, NSJsonWritingOptions.PrettyPrinted, out err);
var theJSONText = new NSString(theJSONData, NSStringEncoding.UTF8);
Console.WriteLine(theJSONText);
response.data为NSDictionary->JSON字符串[更新答案]
经过两天的寻找,我终于找到了解决这个问题的方法。
这是我的密码:
var err = new NSError();
var theJSONData = NSJsonSerialization.Serialize(response.Data, NSJsonWritingOptions.PrettyPrinted, out err);
var theJSONText = new NSString(theJSONData, NSStringEncoding.UTF8);
Console.WriteLine(theJSONText);
response.data as NSDictionary->JSON string我的响应是一个字典,不是JSON string,但上面的响应似乎是一个JSON文档。所有json都是键/值对。我认为trailmax的响应是正确的。您如何序列化json?我使用Newtonsoft.json库中的JsonConvert.SerializeObject。我的响应是一个字典,不是json字符串,但上面的响应似乎是一个json文档。所有json都是键/值对。我认为trailmax的回答是正确的。您如何序列化json?我使用Newtonsoft.json库中的JsonConvert.SerializeObject谢谢您的回答,但我的回答是NSDictionary类型,而不是JSONTanks,但我的回答是NSDictionary类型,而不是json