Android JSONObject 怎么解析数组 android json字符串解析

您所在的位置:网站首页 jsonobject类方法 Android JSONObject 怎么解析数组 android json字符串解析

Android JSONObject 怎么解析数组 android json字符串解析

2023-06-30 16:15| 来源: 网络整理| 查看: 265

今天说一下这个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