当前位置:编程学习 > C#/ASP.NET >>

json转dataset问题

主要把一下格式
[{"itemName":"项目一","itemData":[{"name":"标题","key":"F1","content":"项目一的标题"},{"name":"内容","key":"F2","content":"项目一的内容"},{"name":"Tags","key":"F3","content":"项目一的标签"}]},{"itemName":"项目二","itemData":[{"name":"签名","key":"F3","content":"项目二的签名"}]},{"itemName":"项目三","itemData":[{"name":"网址","key":"F5","content":"项目三的网址"},{"name":"姓名","key":"F6","content":"项目三的姓名"},{"name":"留言","key":"F7","content":"项目三的留言"}]}]
转换成dataset --------------------编程问答-------------------- 没法转,两者数据结构不同,你给的只能转化为实体类,因为它嵌套了另一个实体类,dataset是不支持嵌套实体类的。 --------------------编程问答-------------------- 你可以把josn当做一个字符串来处理,转成dataset,不过来麻烦了。
建议还是按楼上说的,转成实体类,再转dataset比较靠谱 --------------------编程问答-------------------- 转成实体类怎么弄呢
--------------------编程问答-------------------- 就是序列化和反序列化
http://www.cnblogs.com/chenqingwei/archive/2010/06/09/1754522.html --------------------编程问答-------------------- 可以采取三步:

1. 使用json.net之类的,将你的json反序列化为JArray对象。这个对象是一个集合,每一个元素是一个JObject,实际就是 IDictionary<string,object> 对象。(而且我印象中,json.net现在也支持ExpandoObject了)。

2. 遍历所有JObject,遍历每一个文档对象的keyname以及其类型。(实际上只需要将第一次看到某个keyname所对应的数据类型记录下来即可)。在这个遍历过程中,你同时可以创建DataTable的Columns集合。

3. 再次遍历所有JObect,将每一个温当对象的Element根据其“名称”找到对应的DataRow的列进行赋值。遍历之后你就创建完成了DataTable的所有行记录了。

--------------------编程问答-------------------- 学习楼上的:) --------------------编程问答-------------------- 代码可以写下吗
--------------------编程问答-------------------- 老婆在家,懒得写代码。 --------------------编程问答--------------------
引用 8 楼  的回复:
老婆在家,懒得写代码。
一直觉得你的头像很像我的一个老师,现在看你这句话,觉得更像了 --------------------编程问答-------------------- 顶一下楼主,我也看看 --------------------编程问答-------------------- 遍历json   新建datatable  赋值 
引用 5 楼  的回复:
可以采取三步:

1. 使用json.net之类的,将你的json反序列化为JArray对象。这个对象是一个集合,每一个元素是一个JObject,实际就是 IDictionary<string,object> 对象。(而且我印象中,json.net现在也支持ExpandoObject了)。

2. 遍历所有JObject,遍历每一个文档对象的keyname以及其类型。(实际上只需要将第一……
--------------------编程问答--------------------

using Json4Net

DataTable dt = JsonUtil.Convert(jsonText);


以上纯属扯蛋 --------------------编程问答-------------------- 自己解析,映射实体 --------------------编程问答--------------------

http://blog.csdn.net/fengyarongaa/article/details/7097520 --------------------编程问答--------------------
引用 9 楼 chenzmeans 的回复:
[Quote=引用 8 楼  的回复:]

老婆在家,懒得写代码。
一直觉得你的头像很像我的一个老师,现在看你这句话,觉得更像了

有点像老施
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,