`
jiagou
  • 浏览: 2555743 次
文章分类
社区版块
存档分类
最新评论

java中使用net.sf.json对json进行解析

 
阅读更多

net.sf.json依赖的包很多。

有commons-collections,commons-beanutils.jar,commons-httpclient.jar,commons-lang.jar,ezmorph-1.0.5.jar,morph-1.1.1.jar

  1. /**
  2. *从一个JSON对象字符格式中得到一个java对象,形如:
  3. *{"id":idValue,"name":nameValue,"aBean":{"aBeanId":aBeanIdValue,...}}
  4. *@paramobject
  5. *@paramclazz
  6. *@return
  7. */
  8. publicstaticObjectgetDTO(StringjsonString,Classclazz){
  9. JSONObjectjsonObject=null;
  10. try{
  11. setDataFormat2JAVA();
  12. jsonObject=JSONObject.fromObject(jsonString);
  13. }catch(Exceptione){
  14. e.printStackTrace();
  15. }
  16. returnJSONObject.toBean(jsonObject,clazz);
  17. }
  18. /**
  19. *从一个JSON对象字符格式中得到一个java对象,其中beansList是一类的集合,形如:
  20. *{"id":idValue,"name":nameValue,"aBean":{"aBeanId":aBeanIdValue,...},
  21. *beansList:[{},{},...]}
  22. *@paramjsonString
  23. *@paramclazz
  24. *@parammap集合属性的类型(key:集合属性名,value:集合属性类型class)eg:("beansList":Bean.class)
  25. *@return
  26. */
  27. publicstaticObjectgetDTO(StringjsonString,Classclazz,Mapmap){
  28. JSONObjectjsonObject=null;
  29. try{
  30. setDataFormat2JAVA();
  31. jsonObject=JSONObject.fromObject(jsonString);
  32. }catch(Exceptione){
  33. e.printStackTrace();
  34. }
  35. returnJSONObject.toBean(jsonObject,clazz,map);
  36. }
  37. /**
  38. *从一个JSON数组得到一个java对象数组,形如:
  39. *[{"id":idValue,"name":nameValue},{"id":idValue,"name":nameValue},...]
  40. *@paramobject
  41. *@paramclazz
  42. *@return
  43. */
  44. publicstaticObject[]getDTOArray(StringjsonString,Classclazz){
  45. setDataFormat2JAVA();
  46. JSONArrayarray=JSONArray.fromObject(jsonString);
  47. Object[]obj=newObject[array.size()];
  48. for(inti=0;i<array.size();i++){
  49. JSONObjectjsonObject=array.getJSONObject(i);
  50. obj[i]=JSONObject.toBean(jsonObject,clazz);
  51. }
  52. returnobj;
  53. }
  54. /**
  55. *从一个JSON数组得到一个java对象数组,形如:
  56. *[{"id":idValue,"name":nameValue},{"id":idValue,"name":nameValue},...]
  57. *@paramobject
  58. *@paramclazz
  59. *@parammap
  60. *@return
  61. */
  62. publicstaticObject[]getDTOArray(StringjsonString,Classclazz,Mapmap){
  63. setDataFormat2JAVA();
  64. JSONArrayarray=JSONArray.fromObject(jsonString);
  65. Object[]obj=newObject[array.size()];
  66. for(inti=0;i<array.size();i++){
  67. JSONObjectjsonObject=array.getJSONObject(i);
  68. obj[i]=JSONObject.toBean(jsonObject,clazz,map);
  69. }
  70. returnobj;
  71. }
  72. /**
  73. *从一个JSON数组得到一个java对象集合
  74. *@paramobject
  75. *@paramclazz
  76. *@return
  77. */
  78. publicstaticListgetDTOList(StringjsonString,Classclazz){
  79. setDataFormat2JAVA();
  80. JSONArrayarray=JSONArray.fromObject(jsonString);
  81. Listlist=newArrayList();
  82. for(Iteratoriter=array.iterator();iter.hasNext();){
  83. JSONObjectjsonObject=(JSONObject)iter.next();
  84. list.add(JSONObject.toBean(jsonObject,clazz));
  85. }
  86. returnlist;
  87. }
  88. /**
  89. *从一个JSON数组得到一个java对象集合,其中对象中包含有集合属性
  90. *@paramobject
  91. *@paramclazz
  92. *@parammap集合属性的类型
  93. *@return
  94. */
  95. publicstaticListgetDTOList(StringjsonString,Classclazz,Mapmap){
  96. setDataFormat2JAVA();
  97. JSONArrayarray=JSONArray.fromObject(jsonString);
  98. Listlist=newArrayList();
  99. for(Iteratoriter=array.iterator();iter.hasNext();){
  100. JSONObjectjsonObject=(JSONObject)iter.next();
  101. list.add(JSONObject.toBean(jsonObject,clazz,map));
  102. }
  103. returnlist;
  104. }
  105. /**
  106. *从jsonHASH表达式中获取一个map,该map支持嵌套功能
  107. *形如:{"id":"johncon","name":"小强"}
  108. *注意commons-collections版本,必须包含org.apache.commons.collections.map.MultiKeyMap
  109. *@paramobject
  110. *@return
  111. */
  112. publicstaticMapgetMapFromJson(StringjsonString){
  113. setDataFormat2JAVA();
  114. JSONObjectjsonObject=JSONObject.fromObject(jsonString);
  115. Mapmap=newHashMap();
  116. for(Iteratoriter=jsonObject.keys();iter.hasNext();){
  117. Stringkey=(String)iter.next();
  118. map.put(key,jsonObject.get(key));
  119. }
  120. returnmap;
  121. }
  122. /**
  123. *从json数组中得到相应java数组
  124. *json形如:["123","456"]
  125. *@paramjsonString
  126. *@return
  127. */
  128. publicstaticObject[]getObjectArrayFromJson(StringjsonString){
  129. JSONArrayjsonArray=JSONArray.fromObject(jsonString);
  130. returnjsonArray.toArray();
  131. }
  132. /**
  133. *把数据对象转换成json字符串
  134. *DTO对象形如:{"id":idValue,"name":nameValue,...}
  135. *数组对象形如:[{},{},{},...]
  136. *map对象形如:{key1:{"id":idValue,"name":nameValue,...},key2:{},...}
  137. *@paramobject
  138. *@return
  139. */
  140. publicstaticStringgetJSONString(Objectobject)throwsException{
  141. StringjsonString=null;
  142. //日期值处理器
  143. JsonConfigjsonConfig=newJsonConfig();
  144. jsonConfig.registerJsonValueProcessor(java.util.Date.class,newJsonDateValueProcessor());
  145. if(object!=null){
  146. if(objectinstanceofCollection||objectinstanceofObject[]){
  147. jsonString=JSONArray.fromObject(object,jsonConfig).toString();
  148. }else{
  149. jsonString=JSONObject.fromObject(object,jsonConfig).toString();
  150. }
  151. }
  152. returnjsonString==null?"{}":jsonString;
  153. }
分享到:
评论

相关推荐

    Java中使用Json的net.sf.json包

    为了在Java中处理JSON数据,开发者通常会使用特定的库,如`net.sf.json`包,这是一个非常实用的JSON库,提供了丰富的功能来创建、解析和操作JSON对象。 `net.sf.json`库主要包含了两个核心类:`JSONObject`和`...

    JSON net.sf.json jar包

    `net.sf.json`是开源项目Apache软件基金会下的一个Java库,它提供了对JSON的支持,包括将Java对象转换为JSON格式以及将JSON字符串反序列化回Java对象的功能。 `net.sf.json`库主要包含以下功能点: 1. **JSON与...

    net.sf.json需要的jar

    标题中的"net.sf.json需要的jar"指的是在Java开发中使用net.sf.json库时所需的依赖JAR文件。net.sf.json是开源项目,它提供了一系列的API来处理JSON(JavaScript Object Notation)数据格式,便于Java应用程序与JSON...

    net.sf.json.JSONObject相关jar包.zip

    通过这个JAR包,开发者能够在Java程序中方便地将JSON字符串解析成Java对象,或者将Java对象转换为JSON字符串,从而实现与JSON数据的交互。 标签 "jar" 表明这是一个Java Archive文件,是Java平台的标准归档格式,...

    net.sf.json.JSONObject依赖jar

    标题中的"net.sf.json.JSONObject依赖jar"指的是为了在Java项目中使用net.sf.json.JSONObject类,你需要引入特定的jar依赖包。这个包包含了所有必要的类和方法,使得你可以方便地处理JSON数据。一旦将这个依赖包导入...

    JSON(net.sf.json.JSONArray)需要的jar包

    在标题中提到的"JSON(net.sf.json.JSONArray)需要的jar包",是指为了在Java项目中使用`net.sf.json.JSONArray`以及相关的JSON类,你需要引入特定的jar包。`net.sf.json.JSONArray`是开源项目Apache licensed Json-...

    net.sf.json依赖包

    在Java开发中,`net.sf.json` 库提供了一系列API,使得开发者能够方便地将Java对象转换为JSON字符串,以及将JSON字符串解析回Java对象。 `net.sf.json` 库包含了以下关键功能: 1. **JSON与Java对象的转换**:通过...

    用于java对象与json对象间的相互转换(net.sf.json.JSONObject)

    在Java开发中,数据交换和存储常常涉及到JSON...以上就是使用`net.sf.json.JSONObject`进行JSON操作的基本步骤和进阶技巧。在实际开发中,你可能还需要结合其他工具,如Gson或Jackson,根据项目需求选择合适的JSON库。

    json net.sf.json

    1. **JSON解析与生成**:`net.sf.json`库提供了`JSONObject`和`JSONArray`类,它们分别对应JSON的Object和Array类型。你可以通过这些类的方法来创建、读取和修改JSON数据。例如,`JSONObject.fromObject()`可以将...

    net.sf.json.JsonObject需要的jar包

    `net.sf.json.JSONObject` 是json-lib中的核心类,它允许你将Java对象转换为JSON表示,并反之将JSON字符串解析为Java对象。这极大地简化了数据的序列化和反序列化过程。例如,你可以将一个HashMap转换为JSON对象,...

    net.sf.json.JSONObject实现Object对象与Json字符串的互转

    `net.sf.json.JSONObject`是开源库Apache Commons Lang中的一个类,它提供了解决Java对象与JSON字符串之间转换的功能。这篇博客文章"net.sf.json.JSONObject实现Object对象与Json字符串的互转"深入探讨了如何使用`...

    net.sf.json.JSONObject 依赖的包

    `net.sf.json.JSONObject` 是一个广泛使用的开源JSON库,它为Java开发者提供了处理JSON对象的能力。这个库在很多项目中被用作与JSON数据交互的工具,尤其在那些不使用现代Java版本(如Java 8及以上)或者不依赖更...

    net.sf.json.JSONObject Jar包下载

    无论你需要解析接收到的JSON字符串,还是需要将Java对象转化为JSON格式发送出去,"net.sf.json.JSONObject"都提供了强大的工具。 为了使用这个Jar包,你需要将其添加到项目的类路径中。如果你使用的是Maven,可以在...

    net.sf.json2.4

    标题“net.sf.json2.4”指的是一个特定版本的JSON库,它是在Java环境中处理JSON数据的一个工具包。这个库的主要功能是帮助开发者在Java应用程序中生成和解析JSON(JavaScript Object Notation)字符串,这是一种轻量...

    阿里fastjson和谷歌net.sf.json(三种)

    在Java开发中,处理JSON数据的库有很多,其中阿里Fastjson和谷歌的net.sf.json是两个常用的选择。下面我们将详细探讨这两个库以及它们的三种使用方式。 1. 阿里Fastjson 阿里Fastjson是阿里巴巴开源的一个高性能的...

    json lib net.sf.json使用的所有jar包

    3. **commons-beanutils-1.8.3.jar**:Apache Commons BeanUtils库简化了JavaBean对象的属性访问,它能帮助将JavaBean的属性值与JSON对象的键值对进行映射,从而实现JSON与Java对象的互换。 4. **commons-lang-2.1....

    net.sf.json

    ### JSON解析 1. **解析JSON字符串**: 使用`JSONObject.fromJSONString()`或`JSONArray.fromJSONString()`将JSON字符串转化为相应的JSON对象: ```java String jsonString = "{\"name\":\"John\", \"age\":30}"; ...

    com.alibaba.fastjson.JSON , net.sf.json.JSONObject

    在Java开发中,处理JSON数据时通常会用到一些库,如`com.alibaba.fastjson.JSON` 和 `net.sf.json.JSONObject`。这两个库分别是阿里巴巴的Fastjson和Eclipse的Json-lib。 首先,我们来详细了解一下`...

    解决net.sf.json.JSONObject

    总的来说,理解和掌握`net.sf.json.JSONObject`的使用是Java开发中的必备技能,特别是在涉及前后端数据交换、API接口调用等场景。通过上述知识点的学习和实践,开发者能够更加自如地处理JSON数据,提升代码的可读性...

    net.sf.json.JSONObject依赖库.zip

    `net.sf.json`库提供了对JSON(JavaScript Object Notation)数据格式的支持,允许Java对象与JSON格式之间进行互转。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。 `...

Global site tag (gtag.js) - Google Analytics