Java中JSON之全
1. 在不知道你要转的对象的类型的时候,用com.alibaba.fastjson.JSON.parse();
Object parse = com.alibaba.fastjson.JSON.parse(response);
System.out.println("parse的类型::::::"+parse.getClass());
2. 如果对象为list数组类型[], 用com.alibaba.fastjson.JSON.parseArray();
com.alibaba.fastjson.JSONArray parseArray = com.alibaba.fastjson.JSON.parseArray(response);
下面出示一段代码:
package com.awspaas.user.apps.hh500.job; import java.util.List;
import java.util.Map; import net.sf.json.JSONArray; import org.json.JSONException;
import org.quartz.Job;
import org.quartz.JobExecutionContext; import com.actionsoft.bpms.bo.engine.BO;
import com.actionsoft.bpms.server.UserContext;
import com.actionsoft.bpms.util.DBSql;
import com.actionsoft.bpms.util.UtilString;
import com.actionsoft.sdk.local.SDK;
import com.awspaas.user.apps.hh500.util.WebService; public class SwanInterfaceJob implements Job {
private static WebService webService = null; @Override
public void execute(JobExecutionContext jec) {
try {
getTestDataUser();
getTestDataKpi();
} catch (JSONException e) {
e.printStackTrace();
}
} @SuppressWarnings("unchecked")
public String getTestDataUser() throws JSONException {
String URL = "http://192.168.1.240:8080/honghu/synchronizInterfaceController.do?getOrg";
webService = new WebService();
Map<String, Object> userData = webService.request(URL, "{\"mainData\": \"测试组织架构\"}");
JSONArray jsonArray = null;
if (!UtilString.isEmpty(userData.get("response"))) {
DBSql.update("DELETE FROM BO_EU_ORG_INTERFACE");
String response = userData.get("response").toString(); Object parse = com.alibaba.fastjson.JSON.parse(response);
System.out.println("parse的类型::::::"+parse.getClass());
System.out.println(parse); // com.alibaba.fastjson.JSONArray parseArray = com.alibaba.fastjson.JSON.parseArray(response);
// System.out.println("||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"+parseArray);
jsonArray = JSONArray.fromObject(parse.toString());
List<Map<String, Object>> aList = (List<Map<String, Object>>) jsonArray;
List<BO> bos = new java.util.ArrayList<BO>();
BO bo = null;
for (Map<String, Object> RowJson4 : aList) {
if (RowJson4.get("userMap") != null) {
Map<String, Object> map = (Map<String, Object>) RowJson4.get("userMap");
if (map.get("id") != null) {
for (Map<String, Object> RowJson3 : aList) {
if (RowJson3.get("orgType").toString().equals("3") && RowJson4.get("pId").toString().equals(RowJson3.get("id"))) {
for (Map<String, Object> RowJson2 : aList) {
if (RowJson2.get("orgType").toString().equals("2") && RowJson3.get("pId").toString().equals(RowJson2.get("id"))) {
for (Map<String, Object> RowJson1 : aList) {
if (RowJson1.get("orgType").toString().equals("1") && RowJson2.get("pId").toString().equals(RowJson1.get("id"))) {
bo = new BO();
bo.set("COMPANY_ID", RowJson1.get("id"));// 公司ID
bo.set("COMPANY_NAME", RowJson1.get("name"));// 公司
bo.set("DEPT_ID", RowJson2.get("id"));// 部门ID
bo.set("DEPT_NAME", RowJson2.get("name"));//
bo.set("POST_ID", RowJson4.get("id"));// 岗位ID
bo.set("POST_NAME", RowJson4.get("name"));//
bo.set("USER_ID", map.get("empNo"));// 人员账号
bo.set("USER_NAME", map.get("name"));
bos.add(bo);
}
}
}
}
}
}
}
}
}
System.out.println(bos);
if (bos != null && bos.size() > 0) {
SDK.getBOAPI().createDataBO("BO_EU_ORG_INTERFACE", bos, UserContext.fromUID("admin"));
}
}
return jsonArray.toString();
} @SuppressWarnings("unchecked")
public void getTestDataKpi() throws JSONException {
String URL = "http://192.168.1.240:8080/honghu/synchronizInterfaceController.do?getKpi";
net.sf.json.JSONArray jsonArray = null;
webService = new WebService();
Map<String, Object> userData = webService.request(URL, "{\"mainData\": \"测试指标\"}");
List<BO> bos = new java.util.ArrayList<BO>();
if (!UtilString.isEmpty(userData.get("response"))) {
DBSql.update("DELETE FROM BO_EU_WEIGHT_INTERFACE");
String response = userData.get("response").toString();
Object parse = com.alibaba.fastjson.JSON.parse(response);
System.out.println("parse的类型::::::"+parse.getClass());
System.out.println(parse);
jsonArray = net.sf.json.JSONArray.fromObject(parse);
System.out.println(jsonArray);
List<Map<String, Object>> aList = (List<Map<String, Object>>) jsonArray;
BO bo = null;
for (Map<String, Object> RowJson4 : aList)
if ((!UtilString.isEmpty(RowJson4.get("type"))) && RowJson4.get("type").toString().equals("4")) {
for (Map<String, Object> RowJson3 : aList) {
if ((!UtilString.isEmpty(RowJson3.get("type"))) && RowJson3.get("type").toString().equals("3")
&& RowJson4.get("parentId").toString().equals(RowJson3.get("id"))) {
for (Map<String, Object> RowJson2 : aList) {
if ((!UtilString.isEmpty(RowJson2.get("type"))) && RowJson2.get("type").toString().equals("2")
&& RowJson3.get("parentId").toString().equals(RowJson2.get("id"))) {
for (Map<String, Object> RowJson1 : aList) {
if ((!UtilString.isEmpty(RowJson1.get("type"))) && RowJson1.get("type").toString().equals("1")
&& RowJson2.get("parentId").toString().equals(RowJson1.get("id"))) {
bo = new BO();
bo.set("WID", RowJson4.get("id"));// 指标ID
// bo.set("FIRSTTYPE", RowJson1.get("firstType"));//一级指标
bo.set("FIRSTTYPE", RowJson1.get("projectName"));// 一级指标
bo.set("FIRST_CODE", RowJson1.get("projectCode"));
// bo.set("MAXTYPE", RowJson2.get("maxType"));//二级指标
bo.set("MAXTYPE", RowJson2.get("projectName"));// 二级指标
bo.set("MAXTCODE", RowJson2.get("projectCode"));
// bo.set("MINTYPE", RowJson3.get("minType"));//三级指标
bo.set("MINTYPE", RowJson3.get("projectName"));// 三级指标
bo.set("MINCODE", RowJson3.get("projectCode"));
bo.set("PROJECTNAME", RowJson4.get("projectName"));// 四级指标
bo.set("PROJECTCODE", RowJson4.get("projectCode"));
bo.set("NO", RowJson4.get("no"));// 排序序号
bo.set("REMAK", RowJson4.get("remak"));// 备注
bo.set("AFFILIATIONDPTNAME", RowJson4.get("affiliationDptName"));// 归属部门
bo.set("DUTYDPTNAME", RowJson4.get("dutyDptName"));// 责任部门
bos.add(bo);
}
}
}
}
}
}
}
}
System.out.println(bos);
if (bos != null && bos.size() > 0) {
SDK.getBOAPI().createDataBO("BO_EU_WEIGHT_INTERFACE", bos, UserContext.fromUID("admin"));
}
} }
Java中JSON之全的更多相关文章
- Java中JSON字符串与java对象的互换实例详解
这篇文章主要介绍了在java中,JSON字符串与java对象的相互转换实例详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JS ...
- java中 json和bean list map之间的互相转换总结
JSON 与 对象 .集合 之间的转换 JSON字符串和java对象的互转[json-lib] 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级 ...
- (转)Java中JSON字符串与java对象的互换实例详解
在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...
- Java中JSON字符串与java对象的互换实例详解(转)
http://www.jb51.net/article/90914.htm 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要 ...
- Java中json的构造和解析
什么是 Json? JSON(JvaScript Object Notation)(官网网站:http://www.json.org/)是 一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机 ...
- Java中json工具对比分析
Java中几个json工具分析 1, 环境 JDK1.6+IDE(IntelliJ IDEA)+windowsXP+GBK编码 2,分析对象 jackson1.8.2 http://jackson.c ...
- java中json和字符串互转及日期转换 练习
一:以下是用到的jar名称: commons-beanutils-1.6.jar commons-collections-3.2.1.jar commons-lang-2.6.jar commons- ...
- Java中 Json的使用
转自:http://huyan.couplecoders.tech/%E5%BC%80%E5%8F%91%E8%80%85%E6%89%8B%E5%86%8C/2018/11/02/Java%E4%B ...
- java中json包的使用以及字符串,map,list,自定义对象之间的相互转换
做一个map和字符串的转换,需要导入这些jar包,这是最基本的一些jar包. 经过多方尝试得出结论入下: 首先导入基本包:json-lib-2.2.3-jdk15.jar 如果没有这个jar包,程序是 ...
随机推荐
- 如何使用.net开发一款小而美的O2O移动应用? ——“家庭小秘”APP介绍及采访记录
“家庭小秘”是一款“互联网+生活服务”平台,为市民家庭提供优质家庭生活服务和企业后勤服务,包含了用户注册.购买预约.订单查询.充值付款.即时通讯等功能. 这款应用已上线至AppStore和安卓的应用商 ...
- java类与对象(属性,方法)的使用
---恢复内容开始--- 类和对象是java编程中很重要的应该面向对象的一课,实际上可以将类看作对象的载体,它定义了对象所具有的功能.Java是面向对象的语言,因此掌握类与对象是学习Java语言的基础 ...
- npm ERR! asyncWrite is not a function
1.背景:原先node是官网下载安装的,通过brew更新了下,然后到项目里npm i 安装包时候,报错2.解决:卸载官网下载安装的node,重装 sudo rm -rf /usr/local/{bin ...
- Android中的线程池
在Android中,主线程不能执行耗时的操作,否则可能会导致ANR.那么,耗时操作应该在其它线程中执行.线程的创建和销毁都会有性能开销,创建过多的线程也会由于互相抢占系统资源而导致阻塞的现象.这个时候 ...
- IntentService原理分析
IntentService是一个异步处理请求的服务,通过Context#startService(Intent)可以将请求发送给IntentService,IntentService在工作线程中依次串 ...
- 数据文件实时同步(rsync + sersync2)
因近期项目需求,需要同步云端服务器的数据给**方做大数据分析. 思路: 起初只要数据同步,准备开放数据采集接口.但实时性较差,会有延迟. 故而寻觅各种解决方案,最终确定使用 rsync 进行文件同步, ...
- [20190423]简单测试latch nowilling等待模式.txt
[20190423]简单测试latch nowilling等待模式.txt --//我对这个问题的理解就是如果参数willing=0,表示无法获取该latch,直接退出,再寻找类似的latch.--/ ...
- Video clip 视频剪辑:入门级
作为一个对小说漫画电视剧电影的设计有着自己独特需求的人,一直对视频剪辑有着浓厚的兴趣,之前用爱剪辑这种通俗易上手的软件做过简单的小视频.但是这个毕竟满足不了我自己的需求而且属于完全门外汉级别.这次终于 ...
- 在Windows 10 x64 编译ReactOS-0.4.5源码并在VMare中运行
1.首先下载ReactOS源码(版本是0.4.5,最新版本0.4.9暂没有编译),然后下载RosBe(版本是2.1.6) 2.将下载好的ReactOS源码包放到指定磁盘的文件夹中,目录路径为英文(重要 ...
- Webdriver之API详解(2)
前言:今天继续上一篇文章https://www.cnblogs.com/linuxchao/p/linuxchao-selenium-apione.html分享selenium' webdriver ...