• jsonObject


    JSON就是一串字符串 只不过元素会使用特定的符号标注。

    {"age":14;

    "name":“lisi”

    }这就是一个对象了

    json数组   含有多个json对象的数组

     [{"age":14;

    “name”:"lisi"},

    {"age":17;

    "name":"nono"

    }]

    JSONObject 就是把其他形式和json形式对象相互转化。

    JSONObject可以很方便的转换成字符串,也可以很方便的把其他对象转换成JSONObject对象。

    生成jsonObject的几种形式

    1,new  JSONObject

    JSONObject zhangsan = new JSONObject();
            try {
                //添加
                zhangsan.put("name", "张三");
                zhangsan.put("age", 18.4);
                zhangsan.put("birthday", "1900-20-03");
                zhangsan.put("majar", new String[] {"哈哈","嘿嘿"});
                zhangsan.put("null", null);
                zhangsan.put("house", false);
                System.out.println(zhangsan.toString());
            } catch (JSONException e) {
                e.printStackTrace();
            }

    2.HashMap形式 也可以

         HashMap<String, Object> zhangsan = new HashMap<>();
            
            zhangsan.put("name", "张三");
            zhangsan.put("age", 18.4);
            zhangsan.put("birthday", "1900-20-03");
            zhangsan.put("majar", new String[] {"哈哈","嘿嘿"});
            zhangsan.put("null", null);
            zhangsan.put("house", false);
            System.out.println(new JSONObject(zhangsan).toString());

    3.通过实体生成

            User zhangsan=new User();
            zhangsan.put("name", "张三");
            zhangsan.put("age", 18.4);
            zhangsan.put("birthday", "1900-20-03");
            zhangsan.put("majar", new String[] {"哈哈","嘿嘿"});
            zhangsan.put("null", null);
            zhangsan.put("house", false);
            System.out.println(new JSONObject(zhangsan));

    解析jeson格式

     //读取json文件路径
            File file = new File(jsonTest.class.getResource("/zhangsan.json").getFile());
            try {
                //读取json内容
                String s = FileUtils.readFileToString(file);
                //转换json对象
                JSONObject jsonObject = new JSONObject(s);
                if(!jsonObject.isNull("name")){ //从文件读取JSON判断null
                    System.out.println(jsonObject.getString("name"));
                }
                System.out.println(jsonObject.getString("birthday"));
                System.out.println(jsonObject.getBoolean("house"));
                System.out.println(jsonObject.getDouble("age"));
     
                JSONArray majar = jsonObject.getJSONArray("majar"); //遍历数组
                for(int i=0,lengths=majar.length();i<lengths;i++){
                    String o = (String)majar.get(i);
                    System.out.println(i+1+":"+o);
                }
            } catch (IOException e) {
                e.printStackTrace();
            } catch (JSONException e) {
                e.printStackTrace();
            }

  • 相关阅读:
    windows中android SDK manager安装更新sdk很慢,或者出现Done loading packages后不动甚至没有任何可用包
    实用小函数
    UML类图几种关系的总结
    TextView自动换行
    Android launchMode=singleInstalce 与onActivityResult
    红黑树
    二叉查找树相关算法
    添加google账户时无法与服务器建立连接
    ubuntu 下eclipse svn更改用户
    ubuntu adb: command not found
  • 原文地址:https://www.cnblogs.com/yxj808/p/12916049.html
Copyright © 2020-2023  润新知