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包,程序是 ...
随机推荐
- k8s应用机密信息与配置管理(九)--技术流ken
secret 应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名密码或者秘钥.将这些信息直接保存在容器镜像中显然不妥,Kubernetes 提供的解决方案是 Secret. Secret 会以 ...
- javascript 倒计数功能
最近在项目中遇到一个倒计时功能,在网上没有找到合适的,就自己写了个方法.贴在这里,权且当个记录. export const timeRun = (timeStr, callBack) => { ...
- iis正确安装了,但是还是无法访问,这是iis和.net安装顺序问题,记录一下
正确顺序:先安装iis,后安装net 如果没有按照正常顺序进行安装的,可能就无法访问了,这就需要手动 注册asp.net 4.0 到iis ,可以使用此命令重新注册一下: 32位的Windows: 1 ...
- 第三次上机,ADO接口的使用
<html> <head> <title>Reg</title> </head> <body><center> &l ...
- umijs开发实践-不同页面交叉使用dva中的modal文件导致的错误
最近在使用umijs进行H5开发工作,在开发的过程中踩了一些坑,在这里记录一下. 1:按需加载在现在是很常见的优化方式了,我在.umirc.js中开启dynamicImport后,运行umi buil ...
- 【English】四、Y结尾名词变复数
一.辅音字母+y结尾的名词,将y改变为i,再加-es. 读音变化:加读[z]. 例: candy→candies; daisy→daisies; fairy→fairies; lady→ladies; ...
- Tableau环图可视化
1.选择"记录数",拖拽两个记录数放入列中,求总和,选择饼图: 2.选择"大小",调整两个饼图的大小: 3.点击第二个总和(行上的),选择“双轴”: 4.点击坐 ...
- c#面试题汇总(1)
c#面试题汇总 From: https://www.cnblogs.com/suzhiyong1988/p/5069385.html 下面的参考解答只是帮助大家理解,不用背,面试题.笔试题千变万化 ...
- EF 底层封装方法(供参考)
闲暇之余,整理了一下EF底层的一些基础方法,供查看,只有接口,具体实现需要你们自己写了. 建议:接口的实现定义为虚方法,当父类的方法不满住子类需求时,可以重写此方法 此接口都为公用方法,基本上满足小系 ...
- SQL Server数据库————模糊查询和聚合函数
***********模糊查询*********/ 关键字: like (!!!!字符串类型) in (,,) 匹配()内的某个具体值(括号里可以写多个值) between... and.. 在某两 ...