JSON(2)JSONObject解析Josn和创建Jsonf示例

mac2022-07-01  5

1.解析Json

1 /* 2 * test.josn内容如下: 3 { 4 "languages":[ 5 {"id":"1","name":"Java","ide":"Eclipse"} 6 ,{"id":"2","name":"Swift","ide":"Xcode"} 7 ,{"id":"3","name":"C#","ide":"Visual studio"} 8 ] 9 ,"cat":"it" 10 } 11 */ 12 void json_parser(){ 13 try { 14 InputStreamReader isr = new InputStreamReader(getAssets().open("test.json"),"utf-8"); 15 BufferedReader br = new BufferedReader(isr); 16 String line; 17 StringBuilder builder = new StringBuilder(); 18 while ((line = br.readLine() ) != null) { 19 builder.append(line); 20 } 21 br.close(); 22 isr.close(); 23 24 JSONObject root = new JSONObject(builder.toString()); 25 26 /* 1.解析languages 27 "languages":[ 28 {"id":"1","name":"Java","ide":"Eclipse"} 29 ,{"id":"2","name":"Swift","ide":"Xcode"} 30 ,{"id":"3","name":"C#","ide":"Visual studio"} 31 ] 32 */ 33 JSONArray languagesArray = root.getJSONArray("languages"); 34 35 output.setText(""); 36 for (int i = 0; i < languagesArray.length(); i++) { 37 JSONObject lan = languagesArray.getJSONObject(i); 38 output.append("\n"); 39 output.append("\t id = " + lan.getInt("id")); 40 output.append("\t name = " + lan.getString("name")); 41 output.append("\t ide = " + lan.getString("ide")); 42 output.append("\n"); 43 } 44 /* 45 * 2.解析cat 46 * "cat":"it" 47 */ 48 output.append("\n\t cat = " + root.getString("cat")); 49 50 } catch (IOException e) { 51 output.append(e.getMessage()); 52 e.printStackTrace(); 53 } catch (JSONException e) { 54 output.append(e.getMessage()); 55 e.printStackTrace(); 56 } 57 }

2.创建Json

1 void create_json(){ 2 JSONObject root = new JSONObject(); 3 try { 4 /* 5 * 1.创建 "cat" 6 * "cat":"it" 7 */ 8 root.put("cat", "it"); 9 10 /* 11 * 2.创建 "languages" 12 * "languages":[ 13 {"id":"1","name":"Java","ide":"Eclipse"} 14 ,{"id":"2","name":"Swift","ide":"Xcode"} 15 ,{"id":"3","name":"C#","ide":"Visual studio"} 16 ] 17 */ 18 JSONObject lan1 = new JSONObject(); 19 lan1.put("id", 1); 20 lan1.put("name", "Java"); 21 lan1.put("ide", "Eclipse"); 22 23 JSONObject lan2 = new JSONObject(); 24 lan2.put("id", 2); 25 lan2.put("name", "Swift"); 26 lan2.put("ide", "Xcode"); 27 28 JSONObject lan3 = new JSONObject(); 29 lan3.put("id", 3); 30 lan3.put("name", "C#"); 31 lan3.put("ide", "Visual studio"); 32 33 JSONArray languagesArray = new JSONArray(); 34 languagesArray.put(lan1); 35 languagesArray.put(lan2); 36 languagesArray.put(lan3); 37 38 root.put("languages", languagesArray); 39 40 output.setText(root.toString()); 41 42 } catch (JSONException e) { 43 e.printStackTrace(); 44 } 45 }

 

转载于:https://www.cnblogs.com/sjjg/p/4664735.html

最新回复(0)