• json解析


    json数据是常见的一种互联网传输数据格式,这里记录了json解析的通用方法

    JSON(JavaScript Object Notation)JavaScript对象表示法

    一种简单的数据格式,比xml更轻巧。JSON是JavaScript的原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包

    JSON的规则

    • 映射用冒号(":")表示。名称:值
    • 并列的数据名称之间用逗号(",")分隔。名称1:值1,名称2:值2
    • 映射的集合(对象)用大括号("{}")表示。{名称1:值1,名称2:值2}
    • 并列数据的集合(数组)用方括号("[]")表示
    [
        {名称1:值1,名称2:值2},
        {名称1:值1,名称2:值2}
    ]
    
    • 元素值可具有类型:string,number,object,array,true,false,null

    JSON的两种格式

    JSON对象的格式

    写法:{JSON数据名称1:JSON数据的值1,JSON数据名称2:JSON数据的值2...}

    {"name":"zhangsan","age":"20","addr":"nanjing"}
    

    JSON数组的格式

    写法:[JSON对象1,JSON对象2...]

    [{"name":"lucy","age":20},{"name":"mary","age":30}]
    

    JSON的解析

    有很多的JSON开源框架,例如org.json,json-lib,gson等。常用org.json
    官网:http://www.json.org/java/
    常见API:(将json字符串转化成JSONObject对象)

    • JSONObject jb = new JSONObject(String source)
    • Object get(String key)
    • Int getInt(String key)
    • String getString(String key)
    • XXX getXXX(String key)
    • JSONArray getJsonArray(String key)

    将json字符串转出JSONArray对象

    JSONArray jsArray = new JSONArray(String source)
    

    JSON解析示例

    public void jsonTest() throws Exception{
        String jstring = "{'name':'zhangsan','age':'20'}";
        //通过一个具有json格式的字符串就可以创建一个json对象
        JSONObject obj = new JSONObject(jstring );
        //获取到json对象以后就可以通过key去取值,根据需求选择相关的getXXX方法
        //可以获取的数据类型有:string,int,long,double,boolean,object
        String name = obj.getString("name");
        int age = obj.getInt("age");
        System.out.println("name:"+name+",age:"+age);
    
        String jsonArray = "[{'name':'zhangsan','age':'20'},{'name':'lisi','age':'30'}]";
        //根据一个具有json数组格式的字符串,创建一个json数组对象
        JSONArray array = new JSONArray(jsonArray);
        for (int i = 0; i < array.length(); i++) {
            //根据索引取出每一个jsonobject
            JSONObject jsonObject = array.getJSONObject(i);
            name = jsonObject.getString("name");
            System.out.println(name);
        }
    }
    
  • 相关阅读:
    1.7 this关键字
    1.6 作用域练习题
    1.5 关于内存释放和作用域销毁的研究
    php 类与对象
    Yii2 数据操作Query Builder查询数据
    Mac 下配置Nginx安装环境配置详细说明
    PHP 面向对象
    php中static静态关键字的使用方法和应用场景
    http协议(五)web服务器
    http协议(四)http常用状态码
  • 原文地址:https://www.cnblogs.com/cj5785/p/10664695.html
Copyright © 2020-2023  润新知