免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
将List对象列表转换成JSON格式的类JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLanguage,StandardECMA-2623rdEdition-December1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C+,C#,Java,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。引用于/json-zh.html一般应用中,我习惯性地把结果集以更通用的IList对象列表方式保存(可能会对性能有些影响)来保证类间交互时的通用性,降低函数功能对具体类的耦合。但AJAX调用时,还需要把对象列表转换成JSON数据交给前端显示。有麻烦。研究了一下JSON的对象定义和集合定义附件:您所在的用户组无法下载或查看附件感觉利用反射来生成JSON还比较方便。代码如下:Codecopytoclipboard/ObjectListToJSON/Copyright(c)2008pcode.Allrightsreserved./Author(s):/pcode,/email/此类用于将List转换为json数据格式/目前仅能处理一个object的基础数据类型而且对等对json有伤害影响特殊符号没有特殊处理/希望有兄弟继续完善usingSystem.Reflection;usingSystem.Collections.Generic;publicclassObjectListToJSON#region反射一个对象所有属性和属性值和将一个对象的反射结果封装成jsons格式/*对象的全部属性和属性值。用于填写json的内数据*生成后的格式类似*属性1:属性值*将这些属性名和属性值写入字符串列表返回*/privateListGetObjectProperty(objecto)Listpropertyslist=newList();PropertyInfopropertys=o.GetType().GetProperties();foreach(PropertyInfopinpropertys)propertyslist.Add(+p.Name.ToString()+:+p.GetValue(o,null)+);returnpropertyslist;/*将一个对象的所有属性和属性值按json的格式要求输入为一个封装后的结果。*返回值类似属性1:属性1值,属性2:属性2值,属性3:属性值*/privatestringOneObjectToJSON(objecto)stringresult=;Listls_propertys=newList();ls_propertys=GetObjectProperty(o);foreach(stringstr_propertyinls_propertys)if(result.Equals()result=result+str_property;elseresult=result+,+str_property+;returnresult+;#endregion/*把对象列表转换成json串*/publicstringtoJSON(Listobjlist)/覆写,给懒人一个不写classname的机会returntoJSON(objlist,string.Empty);publicstringtoJSON(Listobjlist,stringclassname)stringresult=;if(classname.Equals(string.Empty)/如果没有给定类的名称,那么自做聪明地安一个objecto=objlist0classname=o.GetType().ToString();result+=+classname+:;boolfirstline=true;/处理第一行前面不加,号foreach(objectooinobjlist)if(!firstline)result=result+,+OneObjectToJSON(oo);elseresult=result+OneObjectToJSON(oo)+;firstline=false;returnresult+;OK,我们建立一个测试来验证一下它是否生效。先建立一个对象定义person.csCodecopytoclipboardnamespaceModelpublicclassPersonpublicstringIDget;set;publicstringNameget;set;publicstringSexget;set;然后建立测试类我用了一种非常原始的方法生成了对象列表,其实可以从数据库查询,怕把事情搞得太复杂。呵呵。CodecopytoclipboardusingNUnit.Framework;usingSystem.Collections.Generic;namespaceJSonTestFixturepublicclassTestObjectToJSONTestpublicvoiddotest()Model.Personp1=newModel.Person();p1.ID=1;p1.Name=p1;p1.Sex=s1;Model.Personp2=newModel.Person();p2.ID=2;p2.Name=p2;p2.Sex=s2;Model.Personp3=newModel.Person();p3.ID=3;p3.Name=p3;p3.Sex=s3;Listlp=newList();lp.Add(p1);lp.Add(p2);lp.Add
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2026年)财务经理工作计划
- (2026版)高职单招语文模拟试卷(带答案)
- 高压水射流清洗工班组管理知识考核试卷含答案
- 排岩机操作工岗前岗中水平考核试卷含答案
- 化妆品配方师安全专项能力考核试卷含答案
- 溶剂油装置操作工岗前安全意识强化考核试卷含答案
- 沥青混合料拌和设备操作工岗前岗位晋升考核试卷含答案
- 脚轮制作工岗中理论综合考核试卷含答案
- 大型桥梁机械操作工持续改进模拟考核试卷含答案
- 催化剂制造工技术传承测试考核试卷含答案
- GB/T 19866-2026焊接工艺规程及评定的一般原则
- 2026年旋挖钻机操作手安全教育试卷及答案
- 第三单元《多边形的面积》单元测试卷(含答案)2026-2027学年苏教版五年级数学上册
- 2026新教材语文 2《啊我们踯躅于黑暗的丛林里!》教学课件
- 消能减震阻尼器安装施工方案及技术措施
- 2026年国企固定资产投资项目管理程序题库
- 陕西省宝鸡市2026届高考模拟检测试题(二)地理试题(含答案)
- 2026年时事政治测试题库100道附完整答案【考点梳理】
- 办理食品经营许可证的食品安全管理制度目录
- 2025~2026学年北京市通州区高二上学期期中质量检测政治试卷
- 2025年甘肃省金昌市消防救援支队招聘政府专职消防员和消防文员36人(公共基础知识)综合能力测试题附答案解析
评论
0/150
提交评论