Json.. NET解码多维数组



我是。net的新手,我正在为我的网站创建一个桌面应用程序。我正在使用JSON和 JSON传递数据。. NET然而,每次我试图解码这个字符串时,我都会收到一个错误。会出什么问题呢?如何解码多维数组

这是我正在解码的字符串

{
   "api_ver":"1.0",
   "request":"user-account-exists",
   "date":"2014-08-25 09:57:16",
   "data":
   {
      "user_account_exists":1
   }
}

我的代码在这里

json_data = string.Empty;
try
{                
    json_data = webclient.DownloadString("http://api.mysite.com/?ruser-account-exists");
}
catch (Exception e)
{                
    Logger.Log(e.Message);
}
_api = !string.IsNullOrEmpty(json_data) ? JsonConvert.DeserializeObject<api>(json_data) : 
                                          new api();

错误如下所示

读取字符串错误。意外令牌:starobject。路径'data',行1、位置86.

我想把这个数组反序列化成一个字典

出现此错误是因为api类没有充分建模json。

模型应该类似于下面的模型(使用Json2CSharp生成):

public class Api
{
    public string api_ver { get; set; }
    public string request { get; set; }
    public string date { get; set; }
    public Data data { get; set; }
}
public class Data
{
    public int user_account_exists { get; set; }
}

可以选择使用dynamic

dynamic values = JsonConvert.DeserializeObject<dynamic>(json_data);
bool exists = (int) values.data.user_account_exists == 1;

Try This ?

public class api
{
    public string api_ver { get; set; }
    public string request { get; set; }
    public string date { get; set; }
    public Data data { get; set; }
}
public class Data
{
    public int user_account_exists { get; set; }
}
api apiObj = JsonConvert.DeserializeObject<api>(json_data) ;

相关内容

  • 没有找到相关文章

最新更新