我遇到了一些反序列化的麻烦,因为我没有收到像我习惯的对象而是数组。让代码,我是如何做到的:
收到JSON:
[{"gcm_regID":"fsdf2156fw62f1wfwe512g"}]
反序列化
var result = JsonConvert.DeserializeObject<Gcm>(response);
处理程序已尝试:
public class Gcm
{
public List<Gcm_reg> gcm_regID { get; set; }
}
public class Gcm_reg
{
public string gcm_regID { get; set; }
}
我也尝试过Gcm_reg,但似乎没有任何效果。我怎样才能反序化呢?顺便说一下,我正在使用newsoft JSON。
致以最诚挚的问候,
答案 0 :(得分:4)
IEnumerable<Gcm_reg> result = JsonConvert.DeserializeObject<IEnumerable<Gcm_reg>>(response);
您可以将对象反序列化为数组或IEnumerable
答案 1 :(得分:2)
对象应该像
public class Gcm
{
public string gcm_regID { get; set; }
}
所以试试吧
var result = JsonConvert.DeserializeObject<IEnumerable<Gcm>>(response);
您可以使用link
直接从Json生成类创建相同类型的对象
var outputList = new List<Gcm>();
//loop through this part based on number of input
var itemToAdd = new Gcm();
itemToAdd .regID = 'something';
outputList.Add(itemToAdd );
并将 outputList 发送到服务器。