java 提取json格式中的某一id值,拼接成字符串

来源:互联网 发布:linux 统计大文件行数 编辑:程序博客网 时间:2024/06/14 03:48

1、文件为json格式,提取某一个id的值

[{
“name”: “zhansam”,
“id”: 123
},
{
“name”: “lisi”,
“id”: 456
},
{
“name”: “wangwu”,
“id”: 789
}
]

2、

import java.io.File;import java.io.FileNotFoundException;import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.Scanner;import java.util.Set;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;/**  * @Description: json格式转换 * @date 2016年6月17日  下午5:03:11 */public class testJson {    public static void main(String[] args) {        //读取硬盘中json格式的文件           String fullFileName = "E:/json.txt";            File file = new File(fullFileName);            Scanner scanner = null;            StringBuilder buffer = new StringBuilder();            try {                scanner = new Scanner(file, "utf-8");                while (scanner.hasNextLine()) {                    buffer.append(scanner.nextLine());                }            } catch (FileNotFoundException e) {                e.getMessage();            } finally {                if (scanner != null) {                    scanner.close();                }            }            if(buffer.toString() == null || "".equals(buffer.toString())){                System.out.println("读取不到文件。。。");                return ;            }            System.out.println("第一步,读取e盘下面的文件,E: "+buffer.toString());            // com.alibaba.fastjson.JSONObject   转成json对象            System.out.println("第二步,转成json对象 JSONObject =" + JSONObject.parseArray(buffer.toString()));            JSONArray aa =JSONObject.parseArray(buffer.toString());            int len = aa.size();            System.out.println("第三步,json对象属性长度 len= "+len);            Map<String, Object> hashMap = new HashMap<String, Object>();            String iiiiids = "";            Set<String> quchong = new HashSet<String>();            //一层嵌套,第二层对象为json对象数组  获取所有key为id的值value            for(int i=0 ;len > i ;i++){                JSONObject neibuJson =new JSONObject();                //System.out.println("neibuJson 空 "+neibuJson.parse(aa.getString(i)));                JSONObject neibuJson2 =(JSONObject)neibuJson.parse(aa.getString(i));                //JSONObject neibuJson3 =(JSONObject)JSONObject.parse(aa.getString(i));                //System.out.println("第三步,每个内部对象的值 ="+neibuJson2);                //System.out.println("neibuJson3"+neibuJson3);                //System.out.println("第三步,json对象属性id的值="+neibuJson.get("id"));                //System.out.println("第三步,json对象属性id的值="+neibuJson.getString("id"));                Set<String> keySet = neibuJson2.keySet();//              System.out.println("第四步,内部对象的key值"+"keySet="+keySet);//              System.out.println("第四步,内部对象的key对应的value值"+"keySetValue-neibuJson2="+neibuJson2.get("id"));                for (String key : keySet) {//注:hashMap中,key值唯一                     hashMap.put(key, neibuJson2.get(key));                }                //SET集合去重                if(neibuJson2.get("id")!= null){                    quchong.add(neibuJson2.get("id").toString());                }                iiiiids += neibuJson2.get("id")+ ",";            }            System.out.println("最后需要的结果,iiiiids= "+iiiiids);            System.out.println("唯一 的hashMap="+hashMap);            System.out.println("去重后Set size="+quchong.size());            System.out.println("去重后Set 内容="+quchong);    }}
0 0