首页 > 解决方案 > 反序列化 JSON Android Xamarin

问题描述

我正在尝试填充从 API 获得的 JSON 中的每个字符串。

"{
    \"UseID\":\"sbm_deni\",
    \"UseNam\":\"Deni Andrean\",
    \"UsePass\":null,
    \"UseDep\":\"IT\",
    \"UseLev\":\"1\",
    \"UseEmail\":null,
    \"UseComCod\":null,
    \"UseIC\":null,
    \"UseTel\":null,
    \"BusFunc\":\"SYSTEM-ADMIN\",
    \"CreDate\":\"\\/Date(-62135596800000)\\/\",
    \"CreUser\":null,
    \"ChgDate\":\"\\/Date(-62135596800000)\\/\",
    \"ChgUser\":null,
    \"isDelegate\":false,
    \"UsePlant\":\"2300\",
    \"StartPage\":\"Dashboard/Index\",
    \"isWindowsAuth\":false,
    \"Domain\":null,\"isActiveAcc\":false,
    \"LastLoginDevice\":null,
    \"ApprovalGroup\":\"\",
    \"isAuthoriseSeeNumber\":true
}"

我得到了 JSONvar result = await vmsapi.LoginUser(model); 但如何填写,

string a = USE.ID
string b = USE.Nam

希望有人可以帮助..谢谢。

标签: androidjsonapixamarinserialization

解决方案


要像这样反序列化 JSON 对象:

{
  "UserID":"123",
  "UserName":"John Doe"
}

为您的模型添加一个类:

public class UserModel 
{
    public string UserID { get; set; }
    public string UserName { get; set; }
}

然后使用Newtonsoft JSON.Net框架反序列化:

string result = await vmsapi.LoginUser(model);

var deserialized = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserModel>>(result);

foreach (UserModel user in deserialized)
{
   string a = user.UserID;
   string b = user.UserName;
}

推荐阅读