C# Json.NET解码多维数组

C# Json.NET解码多维数组,c#,php,json.net,C#,Php,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 } } 我的密码

我是.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();
json_data=string.Empty;
尝试
{                
json_data=webclient.DownloadString(“http://api.mysite.com/?ruser-账户存在”);
}
捕获(例外e)
{                
Logger.Log(e.Message);
}
_api=!IsNullOrEmpty(json_数据)?JsonConvert.DeserializeObject(json_数据):
新api();
错误如下所示

读取字符串时出错。意外标记:StartObject。路径“数据”,行 1,位置86


我想将此数组反序列化到字典中

发生此错误是因为
api
类对json建模不够充分

模型应类似于以下模型(使用生成):

您可以选择使用
dynamic

dynamic values = JsonConvert.DeserializeObject<dynamic>(json_data);
bool exists = (int) values.data.user_account_exists == 1;
dynamic values=JsonConvert.DeserializeObject(json_数据);
bool exists=(int)values.data.user\u account\u exists==1;

发生此错误是因为
api
类没有充分地对json建模

模型应类似于以下模型(使用生成):

您可以选择使用
dynamic

dynamic values = JsonConvert.DeserializeObject<dynamic>(json_data);
bool exists = (int) values.data.user_account_exists == 1;
dynamic values=JsonConvert.DeserializeObject(json_数据);
bool exists=(int)values.data.user\u account\u exists==1;

发生此错误是因为
api
类没有充分地对json建模

模型应类似于以下模型(使用生成):

您可以选择使用
dynamic

dynamic values = JsonConvert.DeserializeObject<dynamic>(json_data);
bool exists = (int) values.data.user_account_exists == 1;
dynamic values=JsonConvert.DeserializeObject(json_数据);
bool exists=(int)values.data.user\u account\u exists==1;

发生此错误是因为
api
类没有充分地对json建模

模型应类似于以下模型(使用生成):

您可以选择使用
dynamic

dynamic values = JsonConvert.DeserializeObject<dynamic>(json_data);
bool exists = (int) values.data.user_account_exists == 1;
dynamic values=JsonConvert.DeserializeObject(json_数据);
bool exists=(int)values.data.user\u account\u exists==1;
试试这个

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) ;
公共类api
{
公共字符串api_ver{get;set;}
公共字符串请求{get;set;}
公共字符串日期{get;set;}
公共数据数据{get;set;}
}
公共类数据
{
公共int用户帐户存在{get;set;}
}
api apiObj=JsonConvert.DeserializeObject(json_数据);
试试这个

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) ;
公共类api
{
公共字符串api_ver{get;set;}
公共字符串请求{get;set;}
公共字符串日期{get;set;}
公共数据数据{get;set;}
}
公共类数据
{
公共int用户帐户存在{get;set;}
}
api apiObj=JsonConvert.DeserializeObject(json_数据);
试试这个

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) ;
公共类api
{
公共字符串api_ver{get;set;}
公共字符串请求{get;set;}
公共字符串日期{get;set;}
公共数据数据{get;set;}
}
公共类数据
{
公共int用户帐户存在{get;set;}
}
api apiObj=JsonConvert.DeserializeObject(json_数据);
试试这个

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) ;
公共类api
{
公共字符串api_ver{get;set;}
公共字符串请求{get;set;}
公共字符串日期{get;set;}
公共数据数据{get;set;}
}
公共类数据
{
公共int用户帐户存在{get;set;}
}
api apiObj=JsonConvert.DeserializeObject(json_数据);

将您的json粘贴到并查看您的类应该如何声明您说您正试图反序列化到字典中,但您的代码正在反序列化到对象
api
,这令人困惑。发生此错误的原因是
api
类未正确建模数据。使用上述链接或使用
动态
对数据建模。请向我们展示您的api类?@LB解决方案非常有效。你应该把这个贴出来作为答案,我很乐意接受。谢谢各位。将您的json粘贴到并查看您的类应该如何声明。您说您正试图反序列化到字典中,但您的代码正在反序列化到对象
api
,这令人困惑。发生此错误的原因是
api
类未正确建模数据。使用上述链接或使用
动态
对数据建模。请向我们展示您的api类?@LB解决方案非常有效。你应该把这个贴出来作为答案,我很乐意接受。谢谢各位。将您的json粘贴到并查看您的类应该如何声明。您说您正试图反序列化到字典中,但您的代码正在反序列化到对象
api
,这令人困惑。发生此错误的原因是
api
类未正确建模数据。使用上述链接或使用
动态
对数据建模。请向我们展示您的api类?@LB解决方案非常有效。你应该把这个贴出来作为答案,我很乐意接受。谢谢各位。将您的json粘贴到并查看您的类应该如何声明。您说您正试图反序列化到字典中,但您的代码正在反序列化到对象
api
,这令人困惑。发生此错误的原因是
api
类未正确建模数据。使用上述链接或使用
动态
对数据建模。请向我们展示您的api类?@LB解决方案非常有效。你应该把这个贴出来作为答案,我很乐意接受。谢谢各位。