繁体   English   中英

在SQL中反序列化包含多个子数组和批量复制的Json对象

[英]Deserialize Json Object containing multiple sub Array and Bulk Copy in SQL

我有以下包含多个子数组的JSON数据,任何建议如何将其反序列化并打印在我的页面上。

  • 下一步

    :之后,我需要使用批量复制功能在SQL中插入此数据。

C#代码

collect mydata= new JavaScriptSerializer().Deserialize<collect >(json);
    foreach (var item in mydata.results)
    {
    context.Response.Write(item.newPrice + item.pName);
    }

 public class collect 
    {
        public List<collection1> results { get; set; }
    }

    public class collection1
    {
        public List<data> collection1 { get; set; }
    }
    public class data
    {
        public string newPrice { get; set; }
        public string pName { get; set; }
    }

JSON数组:

{
  "name": "Test 1",
  "count": 3,
  "version": 2,
  "lastsuccess": "Thu Oct 09 2014 05:42:17 GMT+0000 (UTC)",
  "results": {
    "collection1": [
      {
        "newPrice": "12787",
        "pName": "Sony Xperia M Dual Black"
      },
      {
        "newPrice": "24999",
        "pName": "LG Google Nexus 5 16 GB (Black)"
      }
    ]
  }
}

要回答有关如何对JSON进行反序列化的问题,这是一个解决方案...我不确定您所说的“在我的页面上打印”是什么意思,因为您的问题并未将其放在任何上下文中...

我使用http://json2csharp.com在下面创建了poco类...

public class Collection1
{
    public string newPrice { get; set; }
    public string pName { get; set; }
}

public class Results
{
    public List<Collection1> collection1 { get; set; }
}

public class RootObject
{
    public string name { get; set; }
    public int count { get; set; }
    public int version { get; set; }
    public string lastsuccess { get; set; }
    public Results results { get; set; }
}

然后以下代码将JSON反序列化为C#...

RootObject myData = new JavaScriptSerializer().Deserialize<RootObject>(json);

就批量插入而言,您现在可以随心所欲地使用它了……那真的是另一个问题,所以请开始一个新的问题。

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM