我是。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) ;