必威体育Betway必威体育官网
当前位置:首页 > IT技术

JSONObject详解

时间:2019-08-14 04:43:20来源:IT技术作者:seo实验室小编阅读:52次「手机版」
 

jsonobject

jsonobject只是一种数据结构,可以理解为JSON格式的数据结构(key-value 结构),可以使用put方法给json对象添加元素。JSONObject可以很方便的转换成字符串,也可以很方便的把其他对象转换成JSONObject对象。

maven:

<dependency>
	<groupId>org.json</groupId>
	<artifactId>json</artifactId>
	<version>20140107</version>
</dependency>
<dependency>
	<groupId>commons-io</groupId>
	<artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>

1.通过原生生成json数据格式。

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));

4.解析json数据

 //读取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();
        }

相关阅读

JSONObject 与 JSON 互转

使用目的目前数据交互大多以 JSON 字符串为信息传输,主要格式有{"age":"22","name":"李四"}[{"age":"21","name":"张三"}]最常见的

java的JsonObject对象提取值

import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; i

后台遍历json数据:JsonArray和JsonObject遍历方法

一:遍历JsonArray   // 一个未转化的字符串 String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'

使用JSONObject和JSONArray输出带有数组的json数据

最近写接口需要通过json格式返回数据给前端。emmm,刚开始碰到了坑,因为对这两个方法不熟悉,昨天思考一下午没想出来,今天看了一下其他

分享到:

栏目导航

推荐阅读

热门阅读