将List对象列表转换成JSON格式的类实现方法_第1页
将List对象列表转换成JSON格式的类实现方法_第2页
将List对象列表转换成JSON格式的类实现方法_第3页
将List对象列表转换成JSON格式的类实现方法_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、将List对象列表转换成JSON各式的类实现方法般应用中,我习惯性地把结果集以更通用的List对象列表方式保存(可能会对性能有些影响)来保证类间交互时的通用性,降低函数功能对具体类的耦合。但J调用时,还需要把对象列表转换成JSON数据交给前端显示。有麻烦。研究了一下JSON的对象定义和集合定义ObjectListToJSONtssit此类用于将Iist转换为s数据各式目前仅能处理一个的基础数据类型而且对等对s有伤害影响特殊符号没有特殊处理希/望有兄弟继续完善singSystem.Reflection;singSystem.CollectionsssObjectListToJSON反射个对象所有

2、属性和属性值和将一个对象的反射结果封装成s格式对象的全部属性和属性值。用于填写s的内数据生成后的格式类似属性属性值将这些属性名和属性值写入字符串列表返回itListstitOListstringProperttsisttstiListsttyslistTOC o 1-5 h zNStityslist将一个对象的所有属性和属性值按s的格式要求输入为一个封装后的结果。返回值类似属性属性值属性属性值属性属性值itstiOOtJSONtstistListstistsListstiststOttstisttisistsstststtsstststtst把对象列表转换成s串istitJSONListtis

3、t覆写,给懒人一个不写ss的机会ttJSONiststitssistitJSONListtiststististiss如果没有给定类的名称,那么国做聪明地安一个tistclassname=o.GetType().ToString();result+=+classname+:;boolfirstline=true;处理第一行前面不加,号foreach(objectooinobjlist)if(!firstline)result=result+,+OneObjectToJSON(oo);elseresult=result+OneObjectToJSON(oo)+;firstline=false;r

4、eturnresult+;OK,我们建立一个测试来验证一下它是否生效。先建立一个对象定义person.csnamespaceModelpublicclassPersonpublicstringIDget;set;publicstringNameget;set;publicstringSexget;set;然后建立测试类我用了一种非常原始的方法生成了对象列表,其实可以从数据库查询,怕把事情搞得太复杂。呵呵。usingNUnit.Framework;usingSystem.Collections.Generic;namespaceJSonTestFixturepublicclassTestObje

5、ctToJSONTestpublicvoiddotest()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(p3);ObjectListToJSONt=newObjectListToJ

6、SON();stringjson=t.toJSON(lp,persons);System.Console.Write(json);跑一下Nuint,我们想要的json串已经生成了。13JSoelbdll丄SljEtitiZiEl:EC:iAjuiTq.ueryi-rSani-TSraiYbinVT5i?ridllTaxL匚TaxLi.RunFalurax:口IjpEo-B-1*口SlappedDKimTara-i:.D463T5Ettpite;and.Ftilurg|TsteVatEnnrnn-mlFmiCwaLp.Bittot|性Log:日舟C.iJij&xJqn3ar7JSoDLJ3flDLlitiiL,,iJSMLffLLt?*JjOTi/T*Ltlhjc订cJBaif/dnteitCrplcttdTs-51Ca

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论