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

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Redis 安装

    Redis 安装

    2021年10月16日
  • Java注释@interface的用法

    Java注释@interface的用法java用@interfaceAnnotation{} 定义一个注解@Annotation,一个注解是一个类@Override,@Deprecated,@SuppressWarni

  • 如何清除网上浏览痕迹?清除缓存

    如何清除网上浏览痕迹?清除缓存

  • Ubuntu中dpkg命令的用法[通俗易懂]

    Ubuntu中dpkg命令的用法[通俗易懂]dpkg是Debianpackage的简写,为”Debian“操作系统专门开发的套件管理系统,用于软件的安装,更新和移除。所有源自”Debian”的Linux的发行版都使用dpkg,例如”Ubuntu”阅读目录安装软件 列出与该包相关联的文件 显示包的版本 移除软件(保留配置) 移除软件(不保留配置) 查找包的详细信息 列出deb包的内容安装软件命令:dpkg-i<.debfilename>实例:dpkg-i~/Download/…

  • 一个软件完整的开发流程介绍

    一个软件完整的开发流程介绍刚开始写博文的时候就应该将这个文章更新一下,虽然不是什么大牛,但是对于软件的开发流程还是比较了解的,毕竟大大小小做过了好几个项目了,今天就大概的说一下,用我做过的一个项目来说吧,写的不好的,请多多见谅,毕竟小生不才。开发流程百度的解释是:不是我懒得写,而是觉得写出来也不是自己的,还不如直接告诉你们我是百度的概念…但是下面的我们就不要百度了,因为百度说的太专业,让你看了很烦,最起码我是很烦(都是…

  • ssh-server配置文件参数PermitRootLogin介绍

    ssh-server配置文件参数PermitRootLogin介绍sshd_config是sshd的配置文件,其中PermitRootLogin可以限定root用户通过ssh的登录方式,如禁止登陆、禁止密码登录、仅允许密钥登陆和开放登陆,以下是对可选项的概括:参数类别是否允许ssh登陆登录方式交互shellyes允许没有限制没有限制without-password允许除密码以外没

发表回复

您的电子邮箱地址不会被公开。

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