反序列化动态JSON

时间:2018-08-29 12:56:10

标签: c# json json-deserialization

我有这个JSON:

{
    "myKey_one" : {
    "test_one" : "test_value_one"
    },
    "test_two" : {
    "test_one" : "test_value_two"
    }
}

但是,这是动态的,"myKey_one"名称可能会更改,并且可能会有更多或更少的键。我用静态字段反序列化了JSON。但是,我该如何处理动态的。

我了解Json.Net。但是,还有其他方法吗?

编辑:我不想使用Json.Net,因为我不想再增加Xamarin App的大小。它已经太大了。

我尝试过的一些代码:

class MyJsonModel
{
    public async static Task<RootObject> GetMyData()
    {
        var http = new HttpClient();
        var response = await http.GetAsync("https://somewebsite/surveys/");
        var result = await response.Content.ReadAsStringAsync();
        var Serializer = new DataContractJsonSerializer(typeof(RootObject));
        var ms = new MemoryStream(Encoding.UTF8.GetBytes(result));
        var data = (RootObject)Serializer.ReadObject(ms);

        return data;
    }
}


[DataContract]
public class MyKeyClass
{
    [DataMember]
    public string test_one { get; set; }
}

[DataContract]
public class RootObject
{
    [DataMember]
    public Dictionary<string, MyKeyClass> questionType { get; set; }
}

0 个答案:

没有答案