C#从返回的json对象中获取值

C#从返回的json对象中获取值,c#,asp.net,json,object,nopcommerce,C#,Asp.net,Json,Object,Nopcommerce,因此,我试图检查一个值,它是从一个api调用活动返回给我的。 因为我正在学习C#我不知道该怎么做 因此,我使用以下代码发送api调用并将响应存储在变量中: var contactExists = acs.SendRequest("POST", getParameters1, postParameters1); 然后,我使用以下命令将响应输出到visual studio中的输出wibndow: System.Diagnostics.Debug.WriteLine(contactExists);

因此,我试图检查一个值,它是从一个api调用活动返回给我的。 因为我正在学习C#我不知道该怎么做

因此,我使用以下代码发送api调用并将响应存储在变量中:

var contactExists = acs.SendRequest("POST", getParameters1, postParameters1);
然后,我使用以下命令将响应输出到visual studio中的输出wibndow:

System.Diagnostics.Debug.WriteLine(contactExists);
这将返回以下内容:

{"result_code":1,"result_message":"Success: Something is returned","result_output":"json"}
现在在C#中,我如何检查这个
结果代码的值:1

我偶然发现并检查了msdn,但它没有意义

我还认为contactExists.result\u代码可能会工作,但它不会

任何人都知道怎么做。 干杯

我建议您使用:

因此,您可以像这样轻松地使用:

int result_code = contactExists.result_code;
string result_message = contactExists.result_message;
我希望能对您有所帮助:)

我建议您使用:

因此,您可以像这样轻松地使用:

int result_code = contactExists.result_code;
string result_message = contactExists.result_message;

我希望能对您有所帮助:)

创建一个合适的泛型类

public class Response<T>
{
    public int result_code { get; set; }
    public string result_message { get; set; }
    public T result_output { get; set; }
}
公共类响应
{
公共int结果_代码{get;set;}
公共字符串结果_消息{get;set;}
公共T结果_输出{get;set;}
}
最后使用JSON反序列化

var jsonResult = acs.SendRequest("POST", getParameters1, postParameters1);

var result = JsonConvert.DeserializeObject<Response<string>>(jsonResult);
var jsonResult=acs.SendRequest(“POST”,getParameters1,postParameters1);
var result=JsonConvert.DeserializeObject(jsonResult);

创建适当的泛型类

public class Response<T>
{
    public int result_code { get; set; }
    public string result_message { get; set; }
    public T result_output { get; set; }
}
公共类响应
{
公共int结果_代码{get;set;}
公共字符串结果_消息{get;set;}
公共T结果_输出{get;set;}
}
最后使用JSON反序列化

var jsonResult = acs.SendRequest("POST", getParameters1, postParameters1);

var result = JsonConvert.DeserializeObject<Response<string>>(jsonResult);
var jsonResult=acs.SendRequest(“POST”,getParameters1,postParameters1);
var result=JsonConvert.DeserializeObject(jsonResult);

您还可以使用以下代码和平。在这里,您可以使用Json.Net的JObject类来实现这一点

var jsonResult = acs.SendRequest("POST", getParameters1, postParameters1);
JObject contactExists=JsonConvert.DeserializeObject(jsonResult)

现在,要从上述json对象访问属性,您可以这样使用:-

 int result_code = Convert.ToInt32(contactExists["result_code"]);

您还可以使用以下代码和平。在这里,您可以使用Json.Net的JObject类来实现这一点

var jsonResult = acs.SendRequest("POST", getParameters1, postParameters1);
JObject contactExists=JsonConvert.DeserializeObject(jsonResult)

现在,要从上述json对象访问属性,您可以这样使用:-

 int result_code = Convert.ToInt32(contactExists["result_code"]);


谷歌可以这样做:JsonConvert.DeserializeObject或此url可能会有帮助:什么是
acs
?@AliAdlavaran acs是基于此nuget软件包的活动服务:
contactExists的类型确切地说是什么?可能不是
string
,所以请告诉我。@AliAdlavaran如果我这样做
System.Diagnostics.Debug.WriteLine(contactExists.getType())
我在输出窗口google中得到这个结果
System.String
:JsonConvert.DeserializeObject或这个url可能会有帮助:acs
的类型是什么?@AliAdlavaran acs是基于这个nuget包的活动服务:
contactExists的类型到底是什么?可能不是
string
,所以请告诉我。@AliAdlavaran如果我这样做
System.Diagnostics.Debug.WriteLine(contactExists.getType())
我在输出窗口中得到了这个结果
System.String
,谢谢你的帮助,阿里,我尝试时它抛出了一个异常。Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:“Newtonsoft.Json.Linq.JObject”不包含“result_code”的定义,您使用的是哪个版本的
Json.NET
?嗯,我使用的是Newtonsoft Json的9.0.1版。api未返回所需的Json字符串。用简单的json字符串检查它:
{“result\u code”:1,“result\u message”:“Success:返回了一些东西”,“result\u output”:“json”}
并告诉我结果。谢谢你的帮助,阿里,我尝试时它抛出了一个异常。Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:“Newtonsoft.Json.Linq.JObject”不包含“result_code”的定义,您使用的是哪个版本的
Json.NET
?嗯,我使用的是Newtonsoft Json的9.0.1版。api未返回所需的Json字符串。用简单的json字符串检查它:
{“result_code”:1,“result_message”:“Success:Something returned”,“result_output”:“json”}
并告诉我结果。嗨,Koderzzzzz,我尝试了这个,但在
JsonConvert.DeserializeObject(contactCheck)下面有一条红色的曲线表示无法将类型“object”隐式转换为“Newtonsoft.Json.Linq.JObject”,请像这样使用JsonConvert.DeserializeObject(contactCheck);很好,它起作用了。谢谢你的帮助,巴德:DHi Koderzzz我试过了,但是在这个
JsonConvert.DeserializeObject(contactCheck)下面有一条红色的曲线表示无法将类型“object”隐式转换为“Newtonsoft.Json.Linq.JObject”,请像这样使用JsonConvert.DeserializeObject(contactCheck);很好,它起作用了。谢谢你的帮助,巴德