java中解析json多层嵌套
2017-09-27 09:01
393 查看
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);
tex
4000
t.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);
tex
4000
t.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;
}
}
相关文章推荐
- java如何解析多层json
- 多层嵌套的Json字符串转成JavaBean实体对象
- java 安卓 复杂嵌套json对象的解析与创建
- js解析多层嵌套的json,取出所有父元素属性和遍历所有子元素
- java--json嵌套数组解析(2)
- java 解析Json对象(嵌套json数组)
- Android利用Gson解析嵌套多层的Json的简单方法
- Java解析json嵌套数组
- 利用Gson解析多层嵌套的JSON数据
- Java解析嵌套的JSON字符串
- Java 嵌套解析 json
- 多层嵌套json解析与构建|vuejs初探
- Android利用Gson解析嵌套多层的Json
- 【转】Android利用Gson解析嵌套多层的Json
- Android利用Gson解析嵌套多层的Json
- Android利用Gson解析嵌套多层的Json
- Java中Json字符串直接转换为对象(包括多层List集合 嵌套)
- 前端发送的多层嵌套json解析
- java解析json字符串,多层解析
- Gson解析嵌套多层的Json