Android下Json数据的读写与创建

来源:互联网 发布:python调用python脚本 编辑:程序博客网 时间:2024/06/07 09:30

首先准备一个Json格式的文件text.json

{"languages":[{"id":1,"ide":"Eclipse","name":"Java"},{"id":2,"ide":"XCode","name":"Swift"},{"id":3,"ide":"Visual Studio","name":"C#"},],"cat":"it"}


//Json数据的读写try {InputStream is = this.getAssets().open("test.json");BufferedReader bufr = new BufferedReader(new InputStreamReader(is, "UTF-8"));String line ;StringBuilder builder = new StringBuilder();while((line = bufr.readLine()) != null){builder.append(line);}is.close();bufr.close();try {JSONObject root = new JSONObject(builder.toString());System.out.println("cat="+ root.getString("cat") );JSONArray array = root.getJSONArray("languages");for (int i = 0; i < array.length(); i++) {JSONObject lan = array.getJSONObject(i);System.out.println("-----------------------");System.out.println("id="+lan.getInt("id"));System.out.println("ide="+lan.getString("ide"));System.out.println("name="+lan.getString("name"));}} catch (JSONException e) {e.printStackTrace();}} catch (UnsupportedEncodingException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}


//Json数据的创建try {JSONObject root = new JSONObject();root.put("cat", "it");JSONObject lan1 = new JSONObject();lan1.put("id", 1);lan1.put("ide", "Eclipse");lan1.put("name", "Java");JSONObject lan2 = new JSONObject();lan2.put("id", 2);lan2.put("ide", "XCode");lan2.put("name", "Swift");JSONObject lan3 = new JSONObject();lan3.put("id", 3);lan3.put("ide", "Visual Studio");lan3.put("name", "C#");JSONArray array = new JSONArray();array.put(lan1);array.put(lan2);array.put(lan3);root.put("languages", array);System.out.println(root.toString());} catch (JSONException e) {e.printStackTrace();}


0 0