如何在c#mvc中将Json结果转换为对象
我试图将此响应转换为object,以便在c#mvc应用程序中使用object访问它们 以下是我所做的代码:如何在c#mvc中将Json结果转换为对象,c#,json,asp.net-mvc,json.net,C#,Json,Asp.net Mvc,Json.net,我试图将此响应转换为object,以便在c#mvc应用程序中使用object访问它们 以下是我所做的代码: var response = await client.GetAsync("ApiTest?Amount=" + Amount.ToString() + "&WalletAddress=" + WalletAddress.ToString() + "&TokenCode=" + TokenType.ToString());
var response = await client.GetAsync("ApiTest?Amount=" + Amount.ToString() + "&WalletAddress=" + WalletAddress.ToString() + "&TokenCode=" + TokenType.ToString());
if (response.IsSuccessStatusCode)
{
result = response.Content.ReadAsStringAsync().Result;
var test1 = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(result);
(Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(result));
result = await response.Content.ReadAsStringAsync();
var obj =Newtonsoft.Json.JsonConvert.DeserializeObject(result);
return Json(new { Message = "Your Transaction Has Been Completed Successfully!" }, JsonRequestBehavior.AllowGet);
}
var response=wait client.GetAsync(“ApiTest?Amount=“+Amount.ToString()+”&WalletAddress=“+WalletAddress.ToString()+”&TokenCode=“+TokenType.ToString());
if(响应。IsSuccessStatusCode)
{
结果=response.Content.ReadAsStringAsync().result;
var test1=Newtonsoft.Json.JsonConvert.DeserializeObject(结果);
(Newtonsoft.Json.JsonConvert.DeserializeObject(结果));
结果=wait response.Content.ReadAsStringAsync();
var obj=Newtonsoft.Json.JsonConvert.DeserializeObject(结果);
返回Json(新的{Message=“您的事务已成功完成!”},JsonRequestBehavior.AllowGet);
}
以下是Json响应,但其格式为字符串:
{“错误”:“交易金额必须大于
0,“结果”:null,“IsSuccess”:false,“HttpResponse”:{“Headers”:[{“Key”:“X-Frame-Options”,“Value”:[“sameorigin”]},{“Key”:“Strict Transport Security”,“Value”:[“max age=31536000”]},{“Key”:[“no cache”]},{“Key”:“Access Control Allow Origin”,“Value”:[“*”},{“Key”:“Keep Alive”,“Value”:[“timeout=5,max=100”},{“Key”:“Connection[“保持活动”]},{“键”:“缓存控制”,“值”:[“无存储,
必须重新验证,无缓存,后期检查=0,
预检查=0“]},{“键”:“日期”,“值”:[“Wed,2018年2月28日09:43:57
GMT“]},{“键”:“设置Cookie”,“值”:[“PHPSESSID=3vbjmnpea9i9n871a8knc3s89q7lufpn;
路径=/;安全;
HttpOnly,“visid_incap992349=On7CIEXMQBq9AtX5/pvhqtp5lloaaaquipaaaaaacxll2z399yxat6ixztsol+;
expires=Wed,2019年2月27日14:49:04 GMT;路径=/;
Domain=.coinpayments.net,“incap_ses_478_992349=pCsbJzCRvCFLbgPwODOiBtx5lloAAAAAR8gvl6uEmcAX0kCi3b/2Ig=”;
路径=/;
Domain=.coinpayments.net“]},{“Key”:“Server”,“Value”:[“Apache”]},{“Key”:“X-Iinfo”,“Value”:[“5-23697956-23698018
北区北环线(14612730)RT(15198110346506)q(00171)r(1819)
U6“]},{“键”:“X-CDN”,“值”:[“Incapsula”]}],“内容体”:“{\”错误\“:\”事务
金额必须大于
0\“,\“结果\\”:[]],“状态代码”:200,“IsSuccessStatusCode”:true,“RequestUri”:“RequestBody”:“cmd=create\u交易\u0026amount=0\u0026currency1=USD\u0026currency2=LTCT\u0026buyer\u email=3PT5EBZSWMW2IJ1BNFv1YJYK2155PGZGx\u0026version=1\u0026key=C84F65F198E77895F3EDC08E76543785F1057C07C61156937558”}
任何帮助都将不胜感激>
谢谢您可以利用Visual Studio的粘贴特殊功能: 复制JSON并粘贴特殊内容: 您将获得以下课程:
public class JsonResponse
{
public string Error { get; set; }
public object Result { get; set; }
public bool IsSuccess { get; set; }
public Httpresponse HttpResponse { get; set; }
}
public class Httpresponse
{
public Header[] Headers { get; set; }
public string ContentBody { get; set; }
public int StatusCode { get; set; }
public bool IsSuccessStatusCode { get; set; }
public string RequestUri { get; set; }
public string RequestBody { get; set; }
}
public class Header
{
public string Key { get; set; }
public string[] Value { get; set; }
}
现在只需利用Newtonsoft反序列化:
var items = JsonConvert.DeserializeObject<JsonResponse>(json);
var items=JsonConvert.DeserializeObject(json);
输出:
您可以利用Visual Studio的粘贴特殊功能: 复制JSON并粘贴特殊内容: 您将获得以下课程:
public class JsonResponse
{
public string Error { get; set; }
public object Result { get; set; }
public bool IsSuccess { get; set; }
public Httpresponse HttpResponse { get; set; }
}
public class Httpresponse
{
public Header[] Headers { get; set; }
public string ContentBody { get; set; }
public int StatusCode { get; set; }
public bool IsSuccessStatusCode { get; set; }
public string RequestUri { get; set; }
public string RequestBody { get; set; }
}
public class Header
{
public string Key { get; set; }
public string[] Value { get; set; }
}
现在只需利用Newtonsoft反序列化:
var items = JsonConvert.DeserializeObject<JsonResponse>(json);
var items=JsonConvert.DeserializeObject(json);
输出:
试试这个:
using Newtonsoft.Json.Linq;
...
var jso = JObject.Parse(content);
string value = jso["propertyname"].Value<string>();
使用Newtonsoft.Json.Linq;
...
var jso=JObject.Parse(内容);
字符串值=jso[“propertyname”].value();
试试这个:
using Newtonsoft.Json.Linq;
...
var jso = JObject.Parse(content);
string value = jso["propertyname"].Value<string>();
使用Newtonsoft.Json.Linq;
...
var jso=JObject.Parse(内容);
字符串值=jso[“propertyname”].value();
到目前为止您尝试了什么?您已经标记了json.net,所以我想您知道该库。您研究了文档以了解如何反序列化json吗?我尝试了以下方法:var response=wait client.GetAsync(“ApiTest?Amount=“+Amount.ToString()+”&WalletAddress=“+WalletAddress.ToString()+”&TokenCode=“+TokenType.ToString()”);result=response.Content.ReadAsStringAsync().result;var test1=Newtonsoft.Json.JsonConvert.DeserializeObject(结果);结果是什么?另外,你应该把你的代码粘贴到问题中可读的地方,而不是在注释中-Thanks我在响应变量中得到api调用的结果,然后尝试反序列化,但我给我的json字符串不是对象形式的test1
应该是动态的对象。因此它应该有属性。例如test1.Error
应该包含“交易金额必须大于0”到目前为止您尝试了什么?您已经标记了json.net,所以我想您知道该库。您是否研究了文档以了解如何反序列化json?我尝试了以下方法:var response=await client.GetAsync(“ApiTest?amount=“+amount.ToString())+“&WalletAddress=“+WalletAddress.ToString()+”&TokenCode=“+TokenType.ToString());结果=response.Content.ReadAsStringAsync().result;var test1=Newtonsoft.Json.JsonConvert.DeserializeObject(结果);结果是什么?另外,你应该把你的代码粘贴到问题中可读的地方,而不是在注释中-Thanks我在响应变量中得到api调用的结果,然后尝试反序列化,但我给我的json字符串不是对象形式的test1
应该是动态的对象。因此它应该有属性。例如test1.Error
应包含“交易金额必须大于0”@NainaBlue乐于帮助。@NainaBlue乐于帮助。