首页 > 代码库 > Android中JSON数据格式的简单使用
Android中JSON数据格式的简单使用
/** * JSON:JavaScript对象表示法(JavaScript Object Notation)。 <br/> * JSON是存储和交换文本信息的语法。<br/> * * 特点:<br/> * JSON是轻量级的文本数据交换格式<br/> * JSON独立于语言和平台<br/> * JSON具有自我描述性,更以理解<br/> * * 与XML的区别:<br/> * 类似XML,比XML更小、更快、更易解析<br/> * 没有结束标签<br/> * 更短<br/> * 读写的速度更快<br/> * 使用数组<br/> * 不使用保留字<br/> * * JSON语法是JavaScript对象表示法语法的子集。<br/> * 数据在名称/值对中<br/> * 数据由逗号分隔<br/> * 花括号保存对象<br/> * 方括号保存数组<br/> * * JSON值可以是:<br/> * 数字(正数或浮点数)<br/> * 字符串(在双引号中)<br/> * 逻辑值(true或false)<br/> * 数组(在方括号中)<br/> * 对象(在花括号中)<br/> * null<br/> * * @author wangzhu * */
1、从文件中读取JSON对象
/** * 读取Json对象 */ private void readJsonObject() { String json = readFile(); try { JSONObject root = new JSONObject(json); System.err.println("cat=" + root.getString("cat")); JSONArray array = root.getJSONArray("language"); for (int i = 0; i < array.length(); i++) { System.err.println("------------"); JSONObject object = array.getJSONObject(i); System.err.println("id=" + object.getInt("id")); System.err.println("ide=" + object.getString("ide")); System.err.println("name=" + object.getString("name")); } } catch (JSONException e) { e.printStackTrace(); } } /** * 读取文件中的内容,文本编码方式为UTF-8 * * @return */ private String readFile() { StringBuilder accum = new StringBuilder(); InputStreamReader isr = null; BufferedReader br = null; try { isr = new InputStreamReader(getAssets().open("testJson.json"), "UTF-8"); br = new BufferedReader(isr); String line = null; while ((line = br.readLine()) != null) { accum.append(line); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if (isr != null) { try { isr.close(); } catch (IOException e) { e.printStackTrace(); } } } return accum.toString(); }
截图:
Json文件:
执行结果:
2、创建Json对象
/** * 创建Json对象 */ private void createJsonObject() { try { JSONObject root = new JSONObject(); root.put("cat", "it"); JSONArray array = new JSONArray(); JSONObject lan1 = new JSONObject(); lan1.put("id", 1); lan1.put("ide", "Eclipse"); lan1.put("name", "Java"); array.put(lan1); JSONObject lan2 = new JSONObject(); lan2.put("id", 2); lan2.put("ide", "Xcode"); lan2.put("name", "Swift"); array.put(lan2); JSONObject lan3 = new JSONObject(); lan3.put("id", 3); lan3.put("ide", "Visual Studio"); lan3.put("name", "C#"); array.put(lan3); root.put("language", array); System.err.println("createJsonObject: " + root.toString()); } catch (JSONException e) { e.printStackTrace(); } }
执行结果:
Android中JSON数据格式的简单使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。