奇怪的JSON反序列化c#

时间:2016-05-26 10:53:24

标签: c# json serialization deserialization

我遇到了一些反序列化的麻烦,因为我没有收到像我习惯的对象而是数组。让代码,我是如何做到的:

收到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。

致以最诚挚的问候,

2 个答案:

答案 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 发送到服务器。