当前位置: 首页 > 编程笔记 >

C#将Json解析成DateTable的方法

巩枫
2023-03-14
本文向大家介绍C#将Json解析成DateTable的方法,包括了C#将Json解析成DateTable的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了C#将Json解析成DateTable的方法。分享给大家供大家参考。具体实现方法如下:

#region 将 Json 解析成 DateTable ///  

/// 将 Json 解析成 DateTable。 

/// Json 数据格式如: ///

 {table:[{column1:1,column2:2,column3:3},{column1:1,column2:2,column3:3}]} 

///  

///要解析的 Json 字符串

 /// 返回 DateTable public DataTable JsonToDataTable(string strJson) 

{ 

// 

取出表名 var rg = new Regex(@(?<={)[^:]+(?=:[), RegexOptions.IgnoreCase);

 string strName = rg.Match(strJson).Value; DataTable tb = null;

 // 去除表名 strJson = strJson.Substring(strJson.IndexOf([) + 1);

 strJson = strJson.Substring(0, strJson.IndexOf(]));

 // 获取数据

 rg = new Regex(@(?<={)[^}]+(?=})); MatchCollection mc = rg.Matches(strJson);

 for (int i = 0; i < mc.Count; i++) { 

string strRow = mc[i].Value; string[] strRows = strRow.Split(','); 

// 创建表 if (tb == null) { tb = new DataTable();

 tb.TableName = strName; foreach (string str in strRows) 

{ var dc = new DataColumn(); 

string[] strCell = str.Split(':'); 

dc.ColumnName = strCell[0].Replace(, );

 tb.Columns.Add(dc); }

 tb.AcceptChanges();

 } // 增加内容 DataRow dr = tb.NewRow(); 

for (int j = 0; j < strRows.Length; j++) 

{ dr[j] = strRows[j].Split(':')[1].Replace(, 

); 

} tb.Rows.Add(dr); 

tb.AcceptChanges();

 } 

return tb; }

 #endregion

 
格式如下:

{

    table: [

        {

            column1: 1, 

            column2: 2, 

            column3: 3

        }, 

        {

            column1: 1, 

            column2: 2, 

            column3: 3

        }

    ]

}

 

例如:

[{Code:MetaDataId,Name:MetaDataId},{Code:MetadataCode,Name:编号},{Code:SolutionName,Name:名称}]

格式化后:

[

    {

        Code: MetaDataId, 

        Name: MetaDataId

    }, 

    {

        Code: MetadataCode, 

        Name: 编号

    }, 

    {

        Code: SolutionName, 

        Name: 名称

    }

]

希望本文所述对大家的C#程序设计有所帮助。

 类似资料:
  • 本文向大家介绍C++解析Json的方法详解【jsoncpp】,包括了C++解析Json的方法详解【jsoncpp】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C++解析Json的方法。分享给大家供大家参考,具体如下: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml类似,本文主要对VS2008中使用Jsoncpp解析json的方法做

  • 本文向大家介绍C#中将DataTable转化成List 的方法解析,包括了C#中将DataTable转化成List 的方法解析的使用技巧和注意事项,需要的朋友参考一下 前言 通常在DAL层我们都需要把DataTable转换为List<T>让调用者尽可能的好用,尽量的不用关心数据库的字段等,所以我们一般传过去的都是List<T>而不是DataTable。 泛型的好处: 它为使用c#语言编写面向对象程

  • 问题内容: 我正在尝试在此链接中使用示例 http://sharpdevpt.blogspot.com/2009/10/deserialize-json- on-c.html?showComment=1265045828773#c2497312518008004159 但是我的项目无法使用JavaScriptConvert.DeserializeObject进行编译,该示例说这是来自.net库,有

  • 问题内容: 我已经完成了有关iOS中JSON的Raywenderlich教程,但是我很难将其调整为适合自己的JSON文件。这是 我的JSON : 这是 我的代码 : 日志返回。 问题答案: 你这样做是不对的。您已正确将JSON数据填充到字典(名为)中。但你有一个(被称为你的主要内部)和价值的是内部数组。 正确的代码是: 了解概念。这取决于你的内心里有什么。如果它是一个数组(在Values内部),则

  • 问题内容: 您能否告诉我如何传递如下所示的JSON字符串: 我这样尝试过: 提前致谢 最好的祝福 问题答案: 请注意,您的JSON数据具有以下结构: 顶级值是具有单个属性(称为“课程”)的对象(字典) “教训”属性是一个数组 “课程”数组中的每个元素都是一个具有几个属性的对象(包含课程的字典),其中包括“眩晕” 相应的代码是: 一些观察: 在中,参数是指向指针的指针。在这种情况下,通常使用代替。如

  • 问题内容: 我正在尝试找到一种用C解析JSON的好方法。我真的不需要庞大的库或任何东西,我宁愿拥有体积小,重量轻,功能最少的东西,但有很好的文档。 有人有什么可以指点我的吗? 问题答案: Json并不是一门强大的语言,因此它的库可能很小(至少比Xml库要小)。 有一个整体吨C中的Json.org库链接。也许其中之一会很适合您。