[英]How to convert JSON string to an array
我有以下JSON字符串:
[
{
"name":"Test diagnosis",
"code":"324324",
"table":"EXAMPLE",
"addedby":"EDnurse",
"dateadded":3243243,
"qualifier":[
{
"name":"Qualifier",
"value":"Confirmed Diagnosis",
"code":"23434434",
"prefix":"[C] "
},
{
"name":"Left/Right",
"value":"Bilateral",
"code":"324343",
"suffix":" - Bilateral"
}
],
"prefix":"[C] ",
"suffix":" - Bilateral"
}
]
您可以看到此JSON字符串中的Qualifier字段是嵌套的,並且具有2個對象。
我正在研究一個使用SSIS中的C#解析此JSON字符串的程序包。 我可以使用限定符的一個對象來解析字符串,但是當我添加第二個對象(左/右)並嘗試將字符串轉換為數組時,會收到錯誤消息。
沒有數組(與一個Qualifier對象一起使用):
Diagnosis diagnosis = js.Deserialize<Diagnosis>(reviewConverted);
使用數組(返回錯誤,指出我無法將類型診斷隱式轉換為類型診斷):
Diagnosis diagnosis = js.Deserialize<List<Diagnosis>>(reviewConverted);
我還使用以下類定義診斷字段:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SC_8aae662509ae4bab8491323924579173
{
class Diagnosis
{
public string name { get; set; }
public string code { get; set; }
public string table { get; set; }
public string addedby { get; set; }
public string dateadded { get; set; }
public qualifier Qualifier { get; set; }
public string prefix { get; set; }
public string suffix { get; set; }
}
}
這是我的預選課:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SC_8aae662509ae4bab8491323924579173
{
class qualifier
{
public string name { get; set; }
public string value { get; set; }
public string code { get; set; }
public string prefix { get; set; }
}
}
您是否嘗試過以下方法?
class Diagnosis
{
public string name { get; set; }
public string code { get; set; }
public string table { get; set; }
public string addedby { get; set; }
public string dateadded { get; set; }
public List<Qualifier> qualifier { get; set; }
public string prefix { get; set; }
public string suffix { get; set; }
}
據我所知,根據您的發言,1個診斷對象可以包含多個Qualifier對象。 因此,您需要執行以下操作:首先,將Diagnosis類更改為具有以下屬性:
public qualifier List<Qualifier> { get; set; }
代替
public qualifier Qualifier { get; set; }
同樣,以下語句是導致您出錯的原因:
Diagnosis diagnosis = js.Deserialize<List<Diagnosis>>(reviewConverted);
您試圖將“診斷列表”對象存儲在“診斷”對象中,這毫無意義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.