简体   繁体   English

如何在C#MVC中将Json结果转换为对象

[英]How to Convert Json Result to Object in c# mvc

I am trying to convert this response to object so that i can use access them using object in c# mvc application. 我试图将此响应转换为对象,以便我可以在c#mvc应用程序中使用对象访问它们。

Following is the code i did: 以下是我做的代码:

 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);

                                        }

Following is the Json response but its in string format: 以下是Json响应,但其为字符串格式:

{"Error":"Transaction amount must be greater than 0","Result":null,"IsSuccess":false,"HttpResponse":{"Headers":[{"Key":"X-Frame-Options","Value":["sameorigin"]},{"Key":"Strict-Transport-Security","Value":["max-age=31536000"]},{"Key":"Pragma","Value":["no-cache"]},{"Key":"Access-Control-Allow-Origin","Value":["*"]},{"Key":"Keep-Alive","Value":["timeout=5, max=100"]},{"Key":"Connection","Value":["Keep-Alive"]},{"Key":"Cache-Control","Value":["no-store, must-revalidate, no-cache, post-check=0, pre-check=0"]},{"Key":"Date","Value":["Wed, 28 Feb 2018 09:43:57 GMT"]},{"Key":"Set-Cookie","Value":["PHPSESSID=3vbjmnpea9i9n871a8knc3s89q7lufpn; path=/; secure; HttpOnly","visid_incap_992349=On7CIEXMQBq9AtX5/PvHQtp5lloAAAAAQUIPAAAAAACXLL2Z399YXaT6IXztsol+; expires=Wed, 27 Feb 2019 14:49:04 GMT; path=/; Domain=.coinpayments.net","incap_ses_478_992349=pCsbJzCRvCFLbgPwODOiBtx5lloAAAAAR8gvl6uEmcAX0kCi3b/2Ig==; path=/; Domain=.coinpayments.net"]},{"Key":"Server","Value":["Apache"]},{"Key":"X-Iinfo","Val {“错误”:“交易量必须大于0”,“结果”:空,“ IsSuccess”:假,“ HttpResponse”:{“标头”:[{“键”:“ X-Frame-Options”, “ Value”:[“ sameorigin”]},{“ Key”:“ Strict-Transport-Security”,“ Value”:[“ max-age = 31536000”]},{“ Key”:“ Pragma”,“ Value “:[” no-cache“]},{” Key“:” Access-Control-Allow-Origin“,” Value“:[” *“]},{” Key“:” Keep-Alive“,” Value “:[” timeout = 5,max = 100“]},{” Key“:” Connection“,” Value“:[” Keep-Alive“]},{” Key“:” Cache-Control“,” Value “:[”不存储,必须重新验证,不缓存,后检查= 0,预检查= 0“]},{”键“:”日期“,”值“:[”星期三,2月28日2018 09:43:57 GMT“]},{” Key“:” Set-Cookie“,” Value“:[” PHPSESSID = 3vbjmnpea9i9n871a8knc3s89q7lufpn; path = /; secure; HttpOnly“,” visid_incap_992349 = On7CIEXMQBY9tXaTXtPtYtXaTXtP2TQtZaTXtP2TQtAaXXT2TAAA2AQXTQTYaTxT2TAAA6AXT2TQA1TXT2TQT7AXT2TQT7TCA6C​​A周三,2019年2月27日14:49:04 GMT; path = /; Domain = .coinpayments.net“,” incap_ses_478_992349 = pCsbJzCRvCFLbgPwODOiBtx5lloAAAAAR8gvl6uEmcAX0kCi3b / 2Ig ==; path = /; s;“;” =“;” “:”服务器“,”值“:[” Apache“]},{” Key“:” X-Iinfo“,” Val ue":["5-23697956-23698018 NNNN CT(1461 273 0) RT(1519811034346 506) q(0 0 17 1) r(18 19) U6"]},{"Key":"X-CDN","Value":["Incapsula"]}],"ContentBody":"{\\"error\\":\\"Transaction amount must be greater than 0\\",\\"result\\":[]}","StatusCode":200,"IsSuccessStatusCode":true,"RequestUri":" https://www.coinpayments.net/api.php ","RequestBody":"cmd=create_transaction\&amount=0\&currency1=USD\&currency2=LTCT\&buyer_email=3Pt5ebwZsMWV2ij1bnFv1yJYk2155PGzGx\&version=1\&key=c84f65f198e77895f3edc08e7654379785f1057c7c0c6115bee69ed68371d558"}} ue“:[” 5-23697956-23698018 NNNN CT(1461 273 0)RT(1519811034346 506)q(0 0 17 1)r(18 19)U6“]},{” Key“:” X-CDN“, “ Value”:[“ Incapsula”]}],“ ContentBody”:“ {\\” error \\“:\\”交易金额必须大于0 \\“,\\” result \\“:[]}”,“ StatusCode” :200,“ IsSuccessStatusCode”:true,“ RequestUri”:“ https://www.coinpayments.net/api.php ”,“ RequestBody”:“ cmd = create_transaction \\ u0026amount = 0 \\ u0026currency1 = USD \\ u0026currency2 = LTCT \\ u0026buyer_email = 3Pt5ebwZsMWV2ij1bnFv1yJYk2155PGzGx \\ u0026version = 1 \\ u0026key = c84f65f198e77895f3edc08e7654379785f1057c7c0c6115bee69ed68371d558“}}

any help would be highly appreciated> Thanks 任何帮助将不胜感激>谢谢

You can utilize Visual Studio's Paste Special feature: 您可以利用Visual Studio的选择性粘贴功能:

Copy JSON and Paste Special: 复制JSON和选择性粘贴:

在此处输入图片说明

You will get following classes: 您将获得以下课程:

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; }
}

Now simply utilize Newtonsoft to deserialize: 现在,只需利用Newtonsoft反序列化即可:

var items = JsonConvert.DeserializeObject<JsonResponse>(json);  

Output: 输出:

在此处输入图片说明

Try this: 尝试这个:

using Newtonsoft.Json.Linq;
...
var jso = JObject.Parse(content);
string value = jso["propertyname"].Value<string>();

如何转换列表<object>至 Json | C#<div id="text_translate"><p> 我有一个由对象组成的列表,每个 object 有 5 个数据。 我需要将该列表转换为 json,但使用序列化它会填满空的 json。</p><p> 有谁知道我可能做错了什么?</p><pre> foreach (DataRow dtRow in dtAlarmas.Rows) { String Name = dtRow["Name"].ToString(); String ID = dtRow["ID"].ToString(); String AlarmText = dtRow["AlarmText"].ToString(); String AlarmTimeNoNula = dtRow["AlarmTimeNoNula"].ToString(); lstAlarmasNoTratadas.Add(new Ondoan.DatosAux.Alarmas.AlarmaNoTratadaModel(dtRow["Name"].ToString(), Convert.ToInt32(dtRow["ID"]), dtRow["Class"].ToString(), dtRow["AlarmText"].ToString(), dtRow["AlarmTimeNoNula"].ToString())); } string sParams = JsonConvert.SerializeObject(lstAlarmasNoTratadas);</pre><p> 转换后的 sParams 值 = "[{}]"</p><p> Class Ondoan.DatosAux.Alarmas.AlarmaNoTratadaModel</p><pre> using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Ondoan.DatosAux.Alarmas { public class AlarmaNoTratadaModel { private string Name; private int ID; private string Class; private string AlarmText; private string AlarmaTimeNoNula; public AlarmaNoTratadaModel(string Name, int ID, string Class, string AlarmText, string AlarmaTimeNoNula) { // TODO: Complete member initialization this.Name = Name; this.ID = ID; this.Class = Class; this.AlarmText = AlarmText; this.AlarmaTimeNoNula = AlarmaTimeNoNula; } public class AlarmaNoTratadasModel { public AlarmaNoTratadasModel() { } public AlarmaNoTratadasModel(String Name, Nullable&lt;System.Int32&gt; ID, String Class, String AlarmText, String AlarmaTimeNoNula) { this.Name = Name; this.ID = ID; this.Class = Class; this.AlarmText = AlarmText; this.AlarmaTimeNoNula = AlarmaTimeNoNula.ToString(); } public System.String Name { get; set; } public Nullable&lt;System.Int32&gt; ID { get; set; } public System.String Class { get; set; } public System.String AlarmText { get; set; } public System.String AlarmaTimeNoNula { get; set; } } } }</pre></div></object> - How to Convert List<Object> to Json | C#

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 C#对象部分转换为JSON(MVC) - C# object partially convert to JSON(MVC) 如何制作MVC将C#对象转换为json并将其发送到客户端,并接收json并将其转换为C#对象? - How do I make a MVC to convert C# object to json and send it to client, and receive json and convert it to a C# object? 如何将C#对象转换为JSON对象 - How to convert c# object to json object 如何将 JSON 响应对象(具有动态对象)转换为 C# 类或可用的结果对象 - How to convert JSON response object (having dynamic objects) into C# classes or usable result object 如何将 json 文件转换为 json 数组对象以反序列化为 C# MVC 模型 - How to convert json file to json array object for Deserializing into C# MVC model 如何在C#中将json字符串转换为对象 - how to convert json string to object in C# 如何将此json转换为C#对象 - How to convert this json into C# object 如何在C#中将Json对象转换为数组 - How to Convert Json Object to Array in C# 如何将这个JSON到C#对象转换 - How to convert this JSON to C# object 如何转换列表<object>至 Json | C#<div id="text_translate"><p> 我有一个由对象组成的列表,每个 object 有 5 个数据。 我需要将该列表转换为 json,但使用序列化它会填满空的 json。</p><p> 有谁知道我可能做错了什么?</p><pre> foreach (DataRow dtRow in dtAlarmas.Rows) { String Name = dtRow["Name"].ToString(); String ID = dtRow["ID"].ToString(); String AlarmText = dtRow["AlarmText"].ToString(); String AlarmTimeNoNula = dtRow["AlarmTimeNoNula"].ToString(); lstAlarmasNoTratadas.Add(new Ondoan.DatosAux.Alarmas.AlarmaNoTratadaModel(dtRow["Name"].ToString(), Convert.ToInt32(dtRow["ID"]), dtRow["Class"].ToString(), dtRow["AlarmText"].ToString(), dtRow["AlarmTimeNoNula"].ToString())); } string sParams = JsonConvert.SerializeObject(lstAlarmasNoTratadas);</pre><p> 转换后的 sParams 值 = "[{}]"</p><p> Class Ondoan.DatosAux.Alarmas.AlarmaNoTratadaModel</p><pre> using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Ondoan.DatosAux.Alarmas { public class AlarmaNoTratadaModel { private string Name; private int ID; private string Class; private string AlarmText; private string AlarmaTimeNoNula; public AlarmaNoTratadaModel(string Name, int ID, string Class, string AlarmText, string AlarmaTimeNoNula) { // TODO: Complete member initialization this.Name = Name; this.ID = ID; this.Class = Class; this.AlarmText = AlarmText; this.AlarmaTimeNoNula = AlarmaTimeNoNula; } public class AlarmaNoTratadasModel { public AlarmaNoTratadasModel() { } public AlarmaNoTratadasModel(String Name, Nullable&lt;System.Int32&gt; ID, String Class, String AlarmText, String AlarmaTimeNoNula) { this.Name = Name; this.ID = ID; this.Class = Class; this.AlarmText = AlarmText; this.AlarmaTimeNoNula = AlarmaTimeNoNula.ToString(); } public System.String Name { get; set; } public Nullable&lt;System.Int32&gt; ID { get; set; } public System.String Class { get; set; } public System.String AlarmText { get; set; } public System.String AlarmaTimeNoNula { get; set; } } } }</pre></div></object> - How to Convert List<Object> to Json | C#
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM