解析json字符串

 /**
     一、JSON语法:
     是JavaScript对象表示语法的子集,它是一种轻量级的文本数据交换格式。
     二、JSON 语法规则:
     1、数据在名称/值对中,值(value)可以是双引号括起来的字符串(string)、数值(整数或浮点数)(number)、布尔值(true、false)、 null、对象(object)或者数组(array),它们是可以无限嵌套(限制5级内,深不了解析)。
     2、数据之间由逗号 , 分隔
     3、使用斜杆 \ 来转义字符
     4、大括号 {} 保存对象
     5、中括号 [] 保存数组,数组可以包含多个对象(对象数组)
     三、JSON 的两种结构
     1、对象:大括号 {} 保存的对象是一个无序的名称/值对集合。一个对象以左括号 { 开始, 右括号 } 结束。每个"键"后跟一个冒号 :,名称/值对使用逗号 , 分隔。
     2、数组:中括号 [] 保存的数组是值(value)的有序集合。一个数组以左中括号 [ 开始, 右中括号 ] 结束,值之间使用逗号 , 分隔。
     四、JSON 名称/值对(Map:一个键映射一个值)

     */
    public static void main(String[] args) {
        String jsonText = """
            {
            "realName":"李恩恩",
            "nickName":"李恩雅",
            "age":18,
            "sex":true,
            "spouse":null,
            "height":1.78,
            "hobbies":[1028,"摄影","2003-15-78",98.5,"游泳","台球","编程"],
            "address":{
                "province":"安徽省",
                "city":"合肥市",
                "district":"包河区",
                "street":"包公街道"
               }
            }
        """;

        //1. json字符串转换为json对象
        JSONObject map =  JSON.parseObject(jsonText);
        String realName = map.getString("realName");
        String nickName = map.getString("nickName");
        Integer age = map.getInteger("age");
        Boolean sex = map.getBoolean("sex");
        Object spouse = map.get("spouse");
        Double height = map.getDouble("height");
        JSONArray hobbies = map.getJSONArray("hobbies");
        JSONObject address = map.getJSONObject("address");
        String province = address.getString("province");
        String city = address.getString("city");
        String district = address.getString("district");
        String street = address.getString("street");
        System.out.println("姓名:"+realName);
        System.out.println("昵称:"+nickName);
        System.out.println("年龄:"+age);
        System.out.println("性别:"+(sex.booleanValue() ? "男":"女"));
        System.out.println("婚否:"+(spouse == null ? "未" : "已"));
        System.out.println("身高:"+height + "m");
        System.out.println("爱好:"+hobbies.toString());
        System.out.println("住址:"+province+city+district+street);
    }

输出结果:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值