在C#中解析包含多个数组的JSON对象

时间:2017-11-02 18:53:02

标签: c# arrays json json.net

JSON对象:

{"ID":8841,"Data":[{"Type":0,"Value":20.5},{"Type":1,"Value":-2.9},{"Type":2,"Value":12}],"Alert":[{"Type":0,"Value":[1,0,1]},{"Type":1,"Value":[0,0,0]},{"Type":2,"Value":[1,1,0]}]}

有没有办法解析上面的对象,使每个值都存储在相应的变量中。

在数据阵列中, type = 0的值应存储在变量(var value_0)中 类似地,type = 1的值应存储在变量(var value_1)中,type = 2的值应存储在变量(var value_2)

在警报中, 类型0的value数组应存储在三个变量中(alert_type0_condition0,alert_type0_condition1,alert_type0_condition2)。 类似地,类型1的值数组应存储在三个变量(alert_type1_condition0,alert_type1_condition1,alert_type1_condition2)中,类型2的值数组应存储在三个变量中(alert_type2_condition0,alert_type2_condition1,alert_type2_condition2)

1 个答案:

答案 0 :(得分:0)

尝试jobject而不是反序列化

如果您想将json转换为类

的对象
public UserData 
{
    public int ID { get; set; }
    public DataDto Data { get; set; }
}

public Data 
{
    public string Type { get; set; }
    public string value{ get; set; }
}

然后使用json使用JavaScriptSerializer转换为对象

string json = //your json {} ;
JavaScriptSerializer serializer = new JavaScriptSerializer();
var Data = serializer.Deserialize<UserData>(json);