我有这个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; }
}