嗨我有一组格式低于标准的记录(项目ID不是“key”格式:“value”,它包含数千条记录)
{
"items":[
{
"20057":{
"name":"Name 20057",
"item_name":"name_20057"
}
},
{
"20060":{
"name":"Name 20060",
"item_name":"name_20060"
}
}
]
}
我需要将所有这些插入到数据库中,如下所示
ItemID | Name | Item_Name
----------------------------------
20057 | Name 20057 | name_20057
20060 | Name 20060 | name_20060
有没有办法使用SQL查询或ASP.NET?
更新
我尝试用.net进行反序列化。但我没有得到ItemID,因为它不是这种格式“key”:“value”
答案 0 :(得分:0)
您有几种选择。
为了写一个例子,I used JSON.NET library.
private void TestJson()
{
string json = @"{'items':[
{
'20057':{
'name':'Name 20057',
'item_name':'name_20057'
}
},
{
'20060':{
'name':'Name 20060',
'item_name':'name_20060'
}
}
Newtonsoft.Json.Linq.JContainer jsonObj = (Newtonsoft.Json.Linq.JContainer)JsonConvert.DeserializeObject(json);
}
并且您可以使用SelectToken或Path方法进行迭代
创建将接收JSON字符串的存储过程。在存储过程中,将其转换为表,然后插入到数据库中。
答案 1 :(得分:0)
如果你能将你的json变成以下格式,那么在使用json.net库时,事情会更容易一些:
[
{
"ItemID": 20057,
"name": "Name 20057",
"item_name": "name_20057"
},
{
"ItemID": 20060,
"name": "Name 20060",
"item_name": "name_20060"
}
]
您需要一个c#类,如下所示:
public class ItemDetail
{
public string item_name { get; set; }
public int ItemID { get; set; }
public string name { get; set; }
}
最后,您可以调用以下方法来获取数组:
var arr = JsonConvert.DeserializeObject<List<ItemDetail>>(json)