jsonObject [通俗易懂]

jsonObject [通俗易懂]JSON就是一串字符串只不过元素会使用特定的符号标注。{"age":14;"name":“lisi”}这就是一个对象了json数组含有多个json对

大家好,又见面了,我是你们的朋友全栈君。

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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154352.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C语言 排序算法_C语言中三大经典的排序算法

    C语言 排序算法_C语言中三大经典的排序算法文章目录前言一、插入排序1.1直接插入排序1.2希尔排序二、使用步骤1.引入库2.读入数据总结前言常见的排序算法如下:一、插入排序1.1直接插入排序基本思想:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列。实际中我们玩扑克牌时,就用了插入排序的思想:当插入第i(i>=1)个元素时,前面的array[0],array[1],…,array[i-1]已经排好序,此时用array[i]的排序码与array[i-1],a

    2025年6月19日
    2
  • layoutSubviews解析

    layoutSubviews解析1.layoutSubviews的触发1、 init初始化不会触发layoutSubviews2、 addSubview会触发layoutSubviews3、 设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化4、 滚动一个UIScrollView会触发layoutSubviews5、 旋转Screen

    2022年7月25日
    7
  • virsh命令详解_1个无法解析的外部命令

    virsh命令详解_1个无法解析的外部命令virsh的详细命令解析virsh有命令模式和交互模式如果直接在vrish后面添加参数是命令模式,如果直接写virsh,就会进入交互模式virshlist 列出所有的虚拟机,虚拟机的状态有(8)种 runing是运行状态 idel是空闲状态 pause暂停状态 shutdown关闭状态 crash虚拟机崩坏状态 daying垂死状态 shutoff不运行完全关闭 pmsuspe…

    2022年8月12日
    7
  • EXTJS AJAX提交带提示框功能实现

    EXTJS AJAX提交带提示框功能实现

    2021年9月5日
    99
  • Idea配置热部署「建议收藏」

    Idea配置热部署「建议收藏」Idea配置热部署一、概念热部署就是正在运行状态的应用,修改了他的源码之后,在不重新启动的情况下能够自动把增量内容编译并部署到服务器上,使得修改立即生效。热部署为了解决的问题有两个,一是在开发的时候,修改代码后不需要重启应用就能看到效果,大大提升开发效率;二是生产上运行的程序,可以在不停止运行的情况下进行升级,不影响用户使用。二、Idea开启热部署本篇文章主要是介绍Idea…

    2022年5月22日
    60
  • php实时刷新数据_批量短网址php搭建

    php实时刷新数据_批量短网址php搭建http协议介绍:http协议是请求/响应范式的,每一个http响应都是由一个对应的http请求产生的;http协议是无状态的,多个http请求之间是没有关系的.http长连接:目前http协议普遍使用的是1.1版本,之前有个1.0版本,两者之间的一个区别是1.1支持http长连接,或者叫持久连接.1.0不支持http长连接,每次一个ht…

    2022年10月14日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号