`
yinbinhome
  • 浏览: 123698 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

JSON学习(转)

阅读更多

json-lib.jar开发包使用:

依赖包:
commons-beanutils.jar;
commons-httpclient.jar;
commons-lang.jar;
ezmorph.jar;不少人使用时会提示net.sf.ezmorph.xxx找不到,就是缺这个:
morph-1.0.1.jar

相关链接:
http://json-lib.sourceforge.net/
http://ezmorph.sourceforge.net/
http://morph.sourceforge.net/

使用过程中问题:
1,把bean转化为json格式时老提示如下错误:
Exception in thread "main" net.sf.json.JSONException: java.lang.NoSuchMethodException: Property 'name' has no getter method
解决:声明bean为public class xxx,必须是public,我用默认类型(class xxx)都不行

2,Exception in thread "main" java.lang.NoSuchMethodError: org.apache.commons.lang.ArrayUtils.toObject([C)[Ljava/lang/Character;
原因:定义属性如下:private char[] options = new char[] { 'a', 'f' };好像不能处理这种类型的

3, private String func1 = "function(i){ return this.options[i]; }";

private JSONFunction func2 = new JSONFunction(new String[] { "i" },
"return this.options[i];");
转换后显示结果差不多:
{"func1":function(i){ return this.options[i];,"func2":function(i){ return this.options[i]; }}

测试类:
  1. importjava.util.ArrayList;
  2. importjava.util.HashMap;
  3. importjava.util.List;
  4. importjava.util.Map;
  5. importnet.sf.json.JSONArray;
  6. importnet.sf.json.JSONObject;
  7. publicclassJson{
  8. publicstaticvoidmain(String[]args){
  9. Jsonj=newJson();
  10. j.bean2json();
  11. }
  12. publicvoidarr2json(){
  13. boolean[]boolArray=newboolean[]{true,false,true};
  14. JSONArrayjsonArray=JSONArray.fromObject(boolArray);
  15. System.out.println(jsonArray);
  16. //prints[true,false,true]
  17. }
  18. publicvoidlist2json(){
  19. Listlist=newArrayList();
  20. list.add("first");
  21. list.add("second");
  22. JSONArrayjsonArray=JSONArray.fromObject(list);
  23. System.out.println(jsonArray);
  24. //prints["first","second"]
  25. }
  26. publicvoidcreateJson(){
  27. JSONArrayjsonArray=JSONArray.fromObject("['json','is','easy']");
  28. System.out.println(jsonArray);
  29. //prints["json","is","easy"]
  30. }
  31. publicvoidmap2json(){
  32. Map
  33. map.put("name","json");
  34. map.put("bool",Boolean.TRUE);
  35. map.put("int",newInteger(1));
  36. map.put("arr",newString[]{"a","b"});
  37. map.put("func","function(i){returnthis.arr[i];}");
  38. JSONObjectjson=JSONObject.fromObject(map);
  39. System.out.println(json);
  40. //prints
  41. //["name":"json","bool":true,"int":1,"arr":["a","b"],"func":function(i){
  42. //returnthis.arr[i];}]
  43. }
  44. publicvoidbean2json(){
  45. JSONObjectjsonObject=JSONObject.fromObject(newMyBean());
  46. System.out.println(jsonObject);
  47. /*
  48. *prints
  49. *{"func1":function(i){returnthis.options[i];
  50. *},"pojoId":1,"name":"json","func2":function(i){return
  51. *this.options[i];}}
  52. */
  53. }
  54. publicvoidjson2bean(){
  55. Stringjson="{name=\"json2\",func1:true,pojoId:1,func2:function(a){returna;},options:['1','2']}";
  56. JSONObjectjb=JSONObject.fromString(json);
  57. JSONObject.toBean(jb,MyBean.class);
  58. System.out.println();
  59. }
  60. }
操作的bean:
  1. importnet.sf.json.JSONFunction;
  2. publicclassMyBean{
  3. privateStringname="json";
  4. privateintpojoId=1;
  5. //privatechar[]options=newchar[]{'a','f'};
  6. privateStringfunc1="function(i){returnthis.options[i];}";
  7. privateJSONFunctionfunc2=newJSONFunction(newString[]{"i"},
  8. "returnthis.options[i];");
  9. //getters&setters
  10. ......
  11. }


题外话: 这个我对json-lib包的初次尝试,希望对大家有所帮助,另外大家有谁用过其它处理json的开发包,提出来,大家探讨一下~!!!!

分享到:
评论

相关推荐

    json万能转换类

    `Source`文件夹可能包含了库的源代码,这对于学习和理解库的工作原理非常有用。`Bin`文件夹则可能包含编译后的库文件,如dll,可以直接在项目中引用以使用`Newtonsoft.Json`。 总之,`Newtonsoft.Json`库是.NET开发...

    古诗内容提取json格式转jsonl

    本话题聚焦于“古诗内容提取json格式转jsonl”,这涉及到从JSON格式的数据中提取古诗内容,并将其转换为JSONL(JSON Lines)格式。下面我们将深入探讨这两个格式以及转换过程中的关键知识点。 首先,JSON...

    B站Json字幕转换为Srt字幕源码

    在IT行业中,字幕处理是一项常见的任务,尤其是在视频制作、翻译和分享领域。B站(哔哩哔哩)作为一个流行的视频平台,其字幕格式通常...同时,这也是一个很好的学习实践案例,可以帮助你提升对Json和文本处理的理解。

    Json文件一键转Excel

    标题中的“Json文件一键转Excel”指的是一个C#编程项目,其主要功能是将Json格式的数据转换成Excel电子表格,方便用户对数据进行管理和分析。Json(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于...

    LabelMe之json转nii

    在医疗图像分析领域,数据预处理是至关重要的一步,尤其是当使用深度学习模型进行训练时。LabelMe是一款广泛使用的图像标注工具,它允许用户通过图形界面轻松地标记图像,并保存标注信息为.json文件。本教程将详细...

    xml转json包与教程

    这个压缩包“xml转json包与教程”提供了相关的类库和教程,帮助开发者完成这一任务。下面将详细介绍这个过程中的关键知识点: 1. **XML解析器**:在Java中,处理XML数据通常使用DOM(Document Object Model)、SAX...

    JSON互转工具

    标题“JSON互转工具”指的是一个能够将JSON字符串与Java对象之间进行转换的工具或库。这通常涉及到序列化和反序列化的过程。序列化是将Java对象转换为JSON格式的字符串,而反序列化则是将JSON字符串解析成Java对象。...

    xml与json互转工具类

    通过阅读和学习这些代码,开发者可以了解如何在Java中实现XML和JSON的互转,以及如何优雅地展示JSON数据。 总的来说,XML和JSON互转工具在处理跨平台数据交换、数据存储和格式化显示时起着关键作用。`JsonTest`和`...

    iOS-json转模型可视化工具

    你可以查看并学习其内部实现,了解如何进行JSON到模型的自动化转换。此外,源码也意味着你可以根据自己的需求进行定制,添加对其他模型库的支持,或者优化某些功能。 在实际使用中,开发者只需要导入JSON数据,然后...

    jsonview,转换json格式

    8. **学习资源**:为了更好地使用JSONView,用户可以查找相关教程、文档或在线社区,获取使用技巧和常见问题的解决方案。 以上就是关于JSONView和转换JSON格式的相关知识点,希望对你有所帮助。

    Json 入门学习资料

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递...通过提供的jar包和学习资料,初学者可以快速掌握JSON的基本概念和使用方法,从而在实际项目中得心应手地处理数据。

    JSON_Trans.rar_LABVIEW转换JSON_json Labview_labivew json_labview j

    LabVIEW是一种图形化编程语言,广泛应用于数据采集、测试测量和控制系统等领域。在与现代网络服务和应用...通过学习和理解这个示例,用户可以更好地掌握LabVIEW与JSON之间的转换技巧,提升其在实际项目中的应用能力。

    《JSON-lib框架,转换JSON、XML不再困难》学习笔记

    3. JSON对象与JSON数组的创建:学习笔记可能介绍如何使用JSON-lib创建JSON对象和数组。例如,你可以通过`net.sf.json.JSONObject`和`net.sf.json.JSONArray`类来实现。 4. Java对象转换为JSON:JSON-lib提供了`...

    人工智能+深度学习+数据集预处理+xml转json

    在"数据集自动划分及xml转json"这个项目中,开发者已经实现了一个自动化流程,可以自动将图片和对应的XML标注文件划分为训练集和验证集。这种划分对于模型训练至关重要,因为训练集用于训练模型,而验证集则用来评估...

    VB解析Json转换为Xml

    在IT行业中,VB(Visual Basic)是一种常用的编程语言,它具有直观易用的特性,适合进行各种应用程序开发。...通过学习和实践,你可以熟练掌握在VB环境中进行Json到Xml的转换,提高代码的灵活性和可维护性。

    java json互转demo

    Java与JSON之间的转换是开发过程中常见的任务,尤其是在Web服务或者数据...通过学习和使用JSON-LIB,开发者可以轻松地在Java应用中处理JSON数据,无论是从JSON反序列化为Java对象,还是将Java对象序列化为JSON字符串。

    jQuery xml-to-json xml转JSON插件

    jQuery xml-to-json插件是一种用于将XML数据转换为JavaScript Object Notation (JSON)格式的工具。在Web开发中,XML和JSON都是...通过学习和运用这个插件,可以提升项目的开发效率,同时增强前后端数据交互的灵活性。

    json学习资料

    在这个"json学习资料"的压缩包中,我们可能会找到与Java开发相关的JSON处理示例和代码。 在Java中,处理JSON的主要库有Jackson、Gson和org.json等。这些库提供了方便的方法来解析JSON字符串,将其转换为Java对象,...

    Json转实体类

    标题中的“Json转实体类”指的是在编程过程中,将JSON格式的数据转换为C#语言中的对象或实体类。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端交互,而实体类是C#中表示业务数据的...

    Xml和Json互转工具类

    本实例主要是通过json-libjar包中的工具类进行操作,简单实现了xml字符串和json字符串之间的转化,xml文件和json文件的转化。而且还兼容jsonObject和jsonArray两种格式,自己摸索,记录一下以便学习。

Global site tag (gtag.js) - Google Analytics