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

时间:2014-10-09 12:35:56

标签: c# asp.net json

我有以下包含多个子数组的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)"
      }
    ]
  }
}

1 个答案:

答案 0 :(得分:3)

要回答关于如何序列化JSON的问题,这是一个解决方案...我不确定你的意思是“打印在我的页面上”,因为你的问题没有把它放到任何上下文中...... / p>

我使用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);

现在,您可以根据自己的批量插入方式随意使用...这是另一个问题,请开始一个新问题。