反序列化json对象xamarin android c#
本文关键字:android xamarin 对象 json 反序列化 | 更新日期: 2023-09-27 17:59:53
我对反序列化json对象没有什么问题。我的json来自http url:
我下载的JSON 的屏幕
我不知道如何反序列化来动态创建按钮。我知道如何用文本创建按钮,但我不知道如何用现有的选项来创建按钮。我试图在Windows窗体应用程序中获取这些选项进行测试,但应用程序将崩溃。谢谢你的帮助。
您的类应该类似于:
public class Type
{
public int id { get; set; }
public string name { get; set; }
public bool closedQuestion { get; set; }
public bool multiAnswer {get; set;}
public bool usesImage {get; set; }
}
public class RootObject
{
public int id { get; set; }
public string name { get; set; }
public Type type { get; set; }
public List<string> options { get; set; }
}
然后,您应该能够使用Newtonsoft.json:反序列化json
List<RootObject> myData = JsonConvert.DeserializeObject<List<RootObject>>(json);
使用Newtonsoft.NET:
var obj = JsonConvert.DeserializeObject(json);
您还可以创建一个配对类并使用泛型:
public JsonClass {
// Do this for each property you want to map.
[JsonProperty(PropertyName="id")]
public int Id { get; set; }
[JsonProperty(PropertyName="name")]
public int Name { get; set; }
[JsonProperty(PropertyName="type")]
public MessageType Message { get; set; }
}
public class MessageType {
[JsonProperty(PropertyName="id")]
public int Id { get; set; }
// etc...
}
然后执行:
JsonClass obj = JsonConvert.DeserializeObject<JsonClass>(json);
MessageType messageType = obj.Message;