java中解析json多层嵌套
来源:互联网 发布:淘宝商品品牌 编辑:程序博客网 时间:2024/05/18 17:59
public Boolean parseField(String result,String image_type,Boolean isError){
JSONObject jsonObject = JSONObject.fromObject(result);
JSONObject dataJson = jsonObject.getJSONObject("data");
if(dataJson.size() <= 0){
JOptionPane.showMessageDialog(null, "识别错误,请重新上传规范图片!", "提示",
JOptionPane.ERROR_MESSAGE);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
isError = false;
return isError;
}else if(dataJson.size()==1){
toHtml(dataJson.get("detail").toString());
isError = true;
return isError;
}else{
JSONArray dataNames = dataJson.names();
Map<String,String> dataLocal = judgeImageType(image_type);
for(int i = 0 ;i<dataNames.size();i++){
for (String name : dataLocal.keySet()) {
if(name.equals(dataNames.getString(i))){
//小项 如果是JSONArray,则再次循环
if(dataJson.get( dataNames.get(i) ) instanceof JSONArray){
JSONArray jsonArr = (JSONArray)dataJson.get( dataNames.get(i) ) ;
text.append(dataLocal.get(name).toString()+"\n\n");
for(int j=0;j<jsonArr.size();j++){
JSONObject jsonObj = (JSONObject)jsonArr.get(j);
JSONArray childJsonNames = jsonObj.names();
text.append(" ");
for(int m = 0;m<childJsonNames.size();m++){
for(String childName : dataLocal.keySet()){
if(childName.equals(childJsonNames.getString(m))){
String childChName = dataLocal.get(childName);
text.append(childChName+":"+jsonObj.getString(childName)+" ");
}
}
}
text.append("\n\n");
}
}else{//不是json数组
System.out.println("--------"+name);
if(name.equals("u_sex")&&dataJson.getString(name).equals("1")){
text.append("性别 : 男 \n\n");
}else if(name.equals("u_sex")&&dataJson.getString(name).equals("2")){
text.append("性别 : 女 \n\n");
}else{
text.append(dataLocal.get(name).toString()+" : "+dataJson.getString(name)+"\n\n");
}
}
}
}
}
isError = true;
return isError;
}
}
JSONObject jsonObject = JSONObject.fromObject(result);
JSONObject dataJson = jsonObject.getJSONObject("data");
if(dataJson.size() <= 0){
JOptionPane.showMessageDialog(null, "识别错误,请重新上传规范图片!", "提示",
JOptionPane.ERROR_MESSAGE);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
isError = false;
return isError;
}else if(dataJson.size()==1){
toHtml(dataJson.get("detail").toString());
isError = true;
return isError;
}else{
JSONArray dataNames = dataJson.names();
Map<String,String> dataLocal = judgeImageType(image_type);
for(int i = 0 ;i<dataNames.size();i++){
for (String name : dataLocal.keySet()) {
if(name.equals(dataNames.getString(i))){
//小项 如果是JSONArray,则再次循环
if(dataJson.get( dataNames.get(i) ) instanceof JSONArray){
JSONArray jsonArr = (JSONArray)dataJson.get( dataNames.get(i) ) ;
text.append(dataLocal.get(name).toString()+"\n\n");
for(int j=0;j<jsonArr.size();j++){
JSONObject jsonObj = (JSONObject)jsonArr.get(j);
JSONArray childJsonNames = jsonObj.names();
text.append(" ");
for(int m = 0;m<childJsonNames.size();m++){
for(String childName : dataLocal.keySet()){
if(childName.equals(childJsonNames.getString(m))){
String childChName = dataLocal.get(childName);
text.append(childChName+":"+jsonObj.getString(childName)+" ");
}
}
}
text.append("\n\n");
}
}else{//不是json数组
System.out.println("--------"+name);
if(name.equals("u_sex")&&dataJson.getString(name).equals("1")){
text.append("性别 : 男 \n\n");
}else if(name.equals("u_sex")&&dataJson.getString(name).equals("2")){
text.append("性别 : 女 \n\n");
}else{
text.append(dataLocal.get(name).toString()+" : "+dataJson.getString(name)+"\n\n");
}
}
}
}
}
isError = true;
return isError;
}
}
阅读全文
1 0
- java中解析json多层嵌套
- Gson多层嵌套Json解析
- Gson解析嵌套多层的Json
- Gson解析嵌套多层的Json
- 前端发送的多层嵌套json解析
- java如何解析多层json
- java解析json字符串,多层解析
- Android利用Gson解析嵌套多层的Json
- Android利用Gson解析嵌套多层的Json
- Android利用Gson解析嵌套多层的Json
- 【转】Android利用Gson解析嵌套多层的Json
- 多层嵌套JSON格式数据的快速解析
- 利用Gson解析多层嵌套的JSON数据
- 多层嵌套json解析与构建|vuejs初探
- Java中Json字符串直接转换为对象(包括多层List集合 嵌套)
- Java中Json字符串直接转换为对象(包括多层List集合 嵌套)
- Jackson解析多层嵌套
- JAVA嵌套解析Json字符串
- JSONObject和Gson用法详解
- 机器学习模型的容量,过拟合与欠拟合
- notepadd++ 去重插件
- java值传递
- shoppping list
- java中解析json多层嵌套
- SQL优化从6分半到秒出
- C#之构造函数的学习
- 初步学习mysql
- QQ 引流引发的灰色地带产业
- PlayerMaker插件
- MTK点亮新模组
- 数据库并发操作
- 完美运动(链式运动)JS框架