使用JSONArray.fromObject()方法和引入net.sf.json包所需要的jar包支持

关于使用JSONArray.fromObject()方法和引入net.sf.json包所需要的jar包支持。 
net.sf.json的下载地址 
最新版本:http://sourceforge.net/projects/json-lib/files/json-lib/ 
本次选择 json-lib-2.3-jdk15.jar 版本 
最新的是2.4的版本,本次使用的是 json-lib-2.3-jdk15.jar; 
json-lib还需要以下依赖包: 
jakarta commons-lang 2.5 
jakarta commons-beanutils 1.8.0 
jakarta commons-collections 3.2.1 
jakarta commons-logging 1.1.1 
ezmorph 1.0.6

所有依赖包和 json-lib包已打包上传,欢迎下载。 
资源地址:http://download.csdn.net/detail/y562363753/9921883

使用样例:

String json = "[{‘day1‘:‘work‘,‘day2‘:26},{‘day1‘:123,‘day2‘:26}]";
                JSONArray jsonArray = JSONArray.fromObject(json);

实际使用:

String allWaterArrayString = req.getParameter("allWaterArrayString");
            JSONArray allWaterArray = JSONArray.fromObject(allWaterArrayString);
            int count = 0;
            List<MonitorAutoEntity> gasList = JSONArray.toList(allWaterArray, new MonitorAutoEntity(), new JsonConfig());
            for (MonitorAutoEntity monitorAutoEntity : gasList) {
                monitorAutoEntity.setPublishstatus("2");
                count += this.monitoringInfoService.updateMonitorWaterInfo(monitorAutoEntity);
                    }

下面引自http://blog.csdn.net/chenaschen/article/details/41543421内容,方便记录。 
一、字符串与json 
字符串格式: 
static String json = “[{‘day1’:’work’,’day2’:26},{‘day1’:123,’day2’:26}]”;

转换为json数组 
JSONArray jsonArray = JSONArray.fromObject(json);

单个json对象转换 
static String jobj = {‘day1’: 1, ‘day2’: 2};

[java] view plain copy

JSONObject obj = JSONObject.fromObject(jobj);

json转换为Java bean

JSONObject jsonObject = JSONObject.fromObject(new JsonBean());

List 转换成json(Map也可以)

List list = new ArrayList();
JsonBean2 jb1 = new JsonBean2();
jb1.setCol(1);
jb1.setRow(1);
jb1.setValue("xx");  

JsonBean2 jb2 = new JsonBean2();
jb2.setCol(2);
jb2.setRow(2);
jb2.setValue("");  

list.add(jb1);
list.add(jb2);
JSONArray ja = JSONArray.fromObject(list);

二、遍历Json数组

输出每个成员
    for(int i=0; i<jsonArray.size(); i++){
        System.out.println(jsonArray.get(i));
    }  

获取每个成员的key及value
    JSONObject obj = (JSONObject) jsonArray.get(i);
        Iterator it = obj.keys();
        while (it.hasNext()) {
          String key = it.next().toString();
          System.out.println("key ----- "+key);
          System.out.println("value ----- "+obj.get(key));
    }

三、修改、添加、删除成员

修改
涉及到修改json成员的很少,如果真的要修改的话,个人建议转为字符串然后用replaceAll这个函数进行修改,如果你有更好的建议欢迎给评论。
增加
    JSONObject obj2 = new JSONObject();
    obj2.put("day1", "study");
    obj2.put("day2", "2");
    jsonArray.add(obj2);  

删除
    jsonArray.remove(index);
    jsonArray.subList(fromIndex, toIndex)  

原文地址:https://www.cnblogs.com/tanzq/p/8407802.html

时间: 2024-08-07 18:54:18

使用JSONArray.fromObject()方法和引入net.sf.json包所需要的jar包支持的相关文章

net.sf.json与fastjson两种jar包的使用

首先说清楚:这两种方式是进行json解析的两种不同的方式而已,哪一种都可以. 一.引入net.sf.json包 首先用net.sf.json包,当然你要导入很多包来支持commons-beanutils-1.7.0.jar commons-collections-3.1.jar commons-lang-2.5.jar commons-logging.jar ezmorph-1.0.3.jar json-lib-2.1-jdk15.jar,自己百度下载吧 然后使用方法: json串:{\"cod

net.sf.json.JSONException: There is a cycle in the hierarchy!错误解决方案

原因分析:在解析bean时,出现死循环调用,即:多个Bean之间出现了相互调用解决办法:过滤去掉bean中引起死循环调用的属性: [java] view plain copy List<Project> projectList = projectServices.find();  //获取数据 //自定义JsonConfig用于过滤Hibernate配置文件所产生的递归数据 JsonConfig config = new JsonConfig(); config.setExcludes(new

Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包

转载博客:http://quicker.iteye.com/blog/2319947 有关MAVEN仓库的理解参见:http://blog.csdn.net/wanghantong/article/details/36427433 MAVEN依赖关系中Scope的作用 Java代码   Dependency Scope 在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署.目前依赖项的作用域<scope>可以使用5个值: 在定义项目的依

myeclipse8.5打包jar并引入第三方jar包

用myeclipse自带的export工具,无法引入被引用的第三方的jar包,有两种方式: (1)直接export出jar包,解压jar包(第三方的jar包太多,太麻烦) 在创建好的JAR文件里找到META-INF\MANIFEST.MF 打开之后添加内容为: Manifest-Version: 1.0Main-Class: model.ExpertMainClass-path: lib/AbsoluteLayout.jar lib/jxl.jar lib/log4j.jar lib/ojdbc

Java-Maven项目引入UEditor图片上传组件jar包类库的5种方式

最近,硬是和百度的UEditor组件杠上了.自己的个人官网项目,很容易就搞定了,公司的项目,尼玛,各种问题.项目多了,环境复杂了,解决问题的方法也得不断调整. 项目用Maven管理jar包,用到了UEditor的jar包.项目原来直接使用UEditor的源码,编译部署后,正常.后来用的是jar包,放到WEB-INF目录的lib包下,默认情况下,Maven不会把lib包加入到Classpath中,需要手动加入.线上Maven自动打包,不会把UEditor.jar放到WEB_INF目录下,导致程序报

SpringBoot引入第三方jar包或本地jar包的处理方式

在开发过程中有时会用到maven仓库里没有的jar包或者本地的jar包,这时没办法通过pom直接引入,那么该怎么解决呢 一般有两种方法 第一种是将本地jar包安装在本地maven库 第二种是将本地jar包放入项目目录中 这篇文章主要讲第二种方式,这又分两种情况,一种是打包jar包,第二种是打包war包 jar包 先看看jar包的结构 用压缩工具打开一个jar包 打包后jar包的路径在BOOT-INF\lib目录下 在项目目录中创建个文件夹用来存放jar包 pom文件中加入如下内容 <depend

java类打包成jar文件&amp;&amp;jar包的引入

一.将类打包成jar文件 首先分别看下MainActivity.java和func.java的源代码 现在要将func.java打包成jar包,方法如下: a.右击func.java ->Export ->Java ->JAR file b.在Select the resources to export中选择要打包的类,这里注意,如果这个类有调用其他动态/静态库,不需要一起选择,只选择java文件.库文件随着jar一起放到新工程目录下即可引用.然后输入JAE名称和存放位置,点finish

统计JAR包DEX文件中的方法数目

 前段时间做Android项目中,一直出现方法数超过65535的问题,如果混淆后代码中的方法数目没有超过65535,可以通过 在project.properties文件中加上一行dex.force.jumbo=true,解决这个问题. 后来自己参考了网上的一些方法,写了个小工具用来统计JAR包和DEX文件中的方法数目.主要原理就是利用DEX的文件结构的文件头中有个method_ids_siz来统计方法数目. 现在分享出来,代码如下,直接拷贝编译成JAR包,然后控制台:java -jar XXX.

java jar包运行方法

http://java-beginner-liyun.iteye.com/blog/736752一.怎么打jar包 第一步:选中要打jar包的工程 第二步:鼠标右击,选择Export... 第三步:选择java中的Runnable JAR file(如图) 点击“Next” 第四步:(1)在Launch configuration:选择要打jar包的mian所在的类名:(如图) (2)在Export destination:选择要存放jar的名称和地址(如图)       (3)如果要打的jar