Json.Net--Serialize a DataSet和Deserialize a DataSet

来源:互联网 发布:mac cad菜单栏不见了 编辑:程序博客网 时间:2024/06/01 22:32
 1DataSet dataSet = new DataSet("dataSet"); 2dataSet.Namespace = "NetFrameWork"; 3DataTable table = new DataTable(); 4DataColumn idColumn = new DataColumn("id", typeof(int)); 5idColumn.AutoIncrement = true; 6 7DataColumn itemColumn = new DataColumn("item"); 8table.Columns.Add(idColumn); 9table.Columns.Add(itemColumn);10dataSet.Tables.Add(table);1112for (int i = 0; i < 2; i++)13{14    DataRow newRow = table.NewRow();15    newRow["item"] = "item " + i;16    table.Rows.Add(newRow);17}1819dataSet.AcceptChanges();2021string json = JsonConvert.SerializeObject(dataSet, Formatting.Indented);2223Console.WriteLine(json);24// {25//   "Table1": [26//     {27//       "id": 0,28//       "item": "item 0"29//     },30//     {31//       "id": 1,32//       "item": "item 1"33//     }34//   ]

35// }

 1string json = @"{ 2  'Table1': [ 3    { 4      'id': 0, 5      'item': 'item 0' 6    }, 7    { 8      'id': 1, 9      'item': 'item 1'10    }11  ]12}";1314DataSet dataSet = JsonConvert.DeserializeObject<DataSet>(json);1516DataTable dataTable = dataSet.Tables["Table1"];1718Console.WriteLine(dataTable.Rows.Count);19// 22021foreach (DataRow row in dataTable.Rows)22{23    Console.WriteLine(row["id"] + " - " + row["item"]);24}25// 0 - item 026// 1 - item 1

原创粉丝点击