簡體   English   中英

如何在c#中將Json字符串轉換為List

[英]How to convert a Json string to List in c#

在 Web 服務中,我嘗試將 jzonString 轉換為列表。

{
    "name": "Test",
    "Fname": "Testing",
    "S1": "Content1",
    "S2": "Content2",
    "S3": "Content3"
}
[WebMethod]
        public int Create(string Detils, string Companyid)
        {
            try
            {

                dynamic ScheduleShift = new JavaScriptSerializer().DeserializeObject(Detils);
                \\ i need to set data to list or to an object

                InvDetails objDetails = new InvDetails();
                List<InvDetails> lstDetails = new List<InvDetails>();

                return objDetails.CreateInvDetails(objDetils);
            }
            catch (Exception ex)
            {
                // Abort Transaction
                throw ex;
            }
        }

創建另一個庫文件來聲明對象並插入到數據庫中

 public class Inventory
    {
        CommonExecDAL CommonExecDAL = new CommonExecDAL();
        public string name { get; set; }
        public string Fname { get; set; }
        public string S1 { get; set; }
        public string S2 { get; set; }
        public string S3 { get; set; }
        public int intCompanyId { get; set; }


        public int CreateInvComputer(InvDetails objInvDetails)
        {

            SqlParameter[] arParms = new SqlParameter[6];
            .........

        }
    }

如果你不想創建一個類:
您可以使用JObject.Parse()方法進行動態反序列化。

正如@SirRufo 所說,您可以將 JSON 數組反序列化為列表。 但是示例中的 JSON 字符串是單個對象!

無論如何,您使用JSON.Net將 JSON 字符串反序列化為對象。

首先,你有一個Deserialize類:

public class Data
{
    public string name { get; set; }
    public string Fname { get; set; }
    public string S1 { get; set; }
    public string S2 { get; set; }
    public string S3 { get; set; }
}

然后您可以將 JSON 字符串反序列化為 C# 類:

var obj = JsonConvert.DeserializeObject<Data>(jsonString);

只需添加對System.Web.Extensions引用,(在 .NET 4+ 上內置 dll):

JavaScriptSerializer jss = new JavaScriptSerializer();
var jsonObj =jss.Deserialize<dynamic>(jsonString);

如何轉換列表<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 列表字符串轉換為列表? 將 Json 字符串轉換為 C# Object 列表 如何將json轉換為列表c# 如何轉換列表<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> 如何在 C# 中將列表轉換為 JSON? 如何在C#中將JSON響應轉換為列表? 如何將JSON數組轉換為C#列表? 如何在C#中將Json數組轉換為列表 如何在 c# 中將列表轉換為 json 如何在C#中將json字符串轉換為對象
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM