Android JSONObject 怎么解析数组 android json字符串解析 |
您所在的位置:网站首页 › jsonobject类方法 › Android JSONObject 怎么解析数组 android json字符串解析 |
今天说一下这个JSON解析。相信大多数新手接触这个东西的时候是比较晕的,我也是迷糊了很长时间,最后总结了下,然后发现其实静下心来研究研究的话实际上并不难理解。嗯,给新手朋友们的提示就是,千万不要眼高手低,用的时候别黏贴复制,花点时间琢磨琢磨,你就会明白这个东西是多么简单。废话不说上代码: 构建json字符串 这个没啥好说的,用String生生的拼写下来也行。拼写的时候最好用StringBuffer,方便点,效率也高点。那咱就看看不拼写,用json怎么构建。 列如:颜色对应语句,不难吧 { "是否全勤":false, "课程安排":{"语文":"两天","体育":"三天","数学":"两天"}, "myclass":["一班","二班","三班"], "教师":"3个", "男生":20, "共出勤":7, "女生":18代码: JSONObject student = new JSONObject();//代表了{}
下面三句就是构建这一句:"myclass":["一班","二班","三班"], JSONArray()对象,依次添加就行 myclass.put("一班").put("二班").put("三班"); student.put("myclass", myclass); student.put("女生", 18); student.put("男生", 20); JSONObject()对象,依次添加 schedule.put("语文", "两天"); schedule.put("数学", "两天"); schedule.put("体育", "三天"); student.put("课程安排", schedule); student.put("共出勤", 7); student.put("教师", "3个"); student.put("是否全勤", false);解析json字符串: 先来个简单的,例如:{Code:'LIN',UserID:'1004',UserName:'奥巴马',UserType:'1'},其中就只含有一个{},代码如下: 构建: StringBuffer sb = new StringBuffer("{Code:'"); sb.append("LIN"); sb.append("',UserID:'"); sb.append(1004); sb.append("',UserName:'"); sb.append("奥巴马"); sb.append("',UserType:'"); sb.append(102); sb.append("'}"); String myjson = sb.toString();解析: JSONTokener jsonParser = new JSONTokener(myjson); JSONObject person = (JSONObject) jsonParser.nextValue();//因为就一个{},此处解析的时候也是只生成一个 JSONObject的对象。 person.getString("Code"); person.getString("UserID"); person.getString("UserName"); person.getString("UserType");再来个复杂点的: String JSON = "{" + " \"教师\" : \"3人\"," + " \"出勤\" : 40," + " \"班级\" : { \"男生\" : \"20人\", \"女生\" : \"21人\" }," + " \"是否全勤\" : false" + "}";解析: JSONTokener jsonParser1 = new JSONTokener(JSON); JSONObject myclass = (JSONObject) jsonParser1.nextValue(); //第一个JSONObject对象 myclass.getString("教师"); myclass.getString("出勤"); myclass.getJSONObject("班级"); myclass.getBoolean("是否全勤"); JSONObject json2 = myclass.getJSONObject("班级");//第二个JSONObject对象 json2.get("男生"); json2.get("女生");
打印: System.out.println( myclass.getString("教师")+" "+myclass.getString("出勤")+" "+myclass.getBoolean("是否全勤")+" "+json2.getString("男生")+" "+json2.getString("女生"));总结:简单吧 ,主要的还是心态问题,相信谁看了都能明白,只是没能静下心来好好琢磨琢磨,其实也没啥可琢磨的,灰常简单。希望大家碰到简单代码的时候也花点时间琢磨琢磨,比黏贴复制要收获很多。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |