日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Java解析JSON文件

發布時間:2023/12/10 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java解析JSON文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java解析基于json-simple庫,github地址。
https://github.com/fangyidong/json-simple
解析是把字符串變為json文件,或者把json文件變成字符串,然后取值。

package com.lovely.json;import java.io.IOException; import java.io.StringWriter; import java.util.Iterator;import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException;public class JsonEncodeDemo {static JSONObject obj = new JSONObject();public static void main(String[] args) {// 2020/2/29try {test2();} catch (Exception e) {e.printStackTrace();}}@SuppressWarnings("unchecked")public static void test() {// 輸出json字符串 obj.put("name", "foo");obj.put("num", new Integer(100));obj.put("balance", new Double(1000.21));obj.put("is_vip", new Boolean(true));System.out.print(obj.toJSONString());// {"balance":1000.21,"num":100,"is_vip":true,"name":"foo"}}@SuppressWarnings("unchecked")public static void test1() throws IOException {// json 對象流 用于寫。obj.put("name", "jack");obj.put("gender", "male");obj.put("age", 11);obj.put("tel", 223);obj.put("phone", 666);StringWriter out = new StringWriter();obj.writeJSONString(out);String jsonText = out.toString();System.out.println(jsonText);// {"phone":666,"tel":223,"age":11,"name":"jack","gender":"male"}}public static void test2() {// 在 Java 中解碼 JSON 使用JSONPARSER ---把json文件變成object,轉型數組。不符合json格式的報錯。/** 局限性,以json數組形式存在* * [{"id": "666", "author": "plus.Lee"},* {"id": "999", "author": "plus.catcher"}* ]* * [{"id": 1, "name": "qian"}, {"id": 2, "name": "plus"}]* * */String s = "";s = "[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}]";JSONParser parser = new JSONParser();try {// 把json字符串轉換成objObject obj = parser.parse(s);// 把obj轉換為集合 JSONArray jsonArray = (JSONArray)obj;// 迭代器迭代集合, s里面有兩個json對象 Iterator<?> iterator = jsonArray.iterator();while (iterator.hasNext()) {System.out.print(iterator.next() + "\t");}// 0 {"1":{"2":{"3":{"4":[5,{"6":7}]}}}} System.out.println();// 把數組轉換為json對象JSONObject obj1 = (JSONObject)jsonArray.get(1);// 鍵--> 值System.out.println(obj1.get("1"));// {"2":{"3":{"4":[5,{"6":7}]}}} 其它key,value是nulls = "[{\"id\": 1, \"name\": \"qian\"}, {\"id\": 2, \"name\": \"plus\"}]";obj = parser.parse(s);System.out.println("qian&plus\t" + obj); // qian&plus [{"id":1,"name":"qian"},{"id":2,"name":"plus"}]jsonArray = (JSONArray)obj;obj1 = (JSONObject)jsonArray.get(1); // 叫plus的System.out.println(obj1.get("id") + "\t" + obj1.get("name")); // 2 pluss = "[{\"id\" : \"b_1\"} ,2]";obj = parser.parse(s);jsonArray = (JSONArray)obj;System.out.println(jsonArray.get(0) + "\t" + jsonArray.get(1));// {"id":"b_1"} 2// 下面的 1 和 1,7 json格式是有問題的,但是有結果s = "[1,]";obj = parser.parse(s);System.out.println(obj); // [1]s = "[1, ,7]";obj = parser.parse(s);System.out.println(obj);// [1,7]} catch (ParseException pe) {System.out.println("position:" + pe.getPosition());System.out.println(pe);}}}

啦啦啦,小伙伴們,給我建議,跟我交流鴨。( ̄︶ ̄*))

總結

以上是生活随笔為你收集整理的Java解析JSON文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。