JSON Java 解析

JSON 是什么?

JavaScript Object Notation,一种轻量级的数据交换格式

JSON 的优势?

易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

JSON 的结构?

键值对

 {"firstName":"Brett","lastName":"McLaughlin","email":"aaaa"}

数组

{
    "people":[
        {"firstName":"Brett","lastName":"McLaughlin","email":"aaaa"},
        {"firstName":"Jason","lastName":"Hunter","email":"bbbb"},
        {"firstName":"Elliotte","lastName":"Harold","email":"cccc"}
    ]
}

例子

{
    "programmers": [{
        "firstName": "Brett",
        "lastName": "McLaughlin",
        "email": "aaaa"
    }, {
        "firstName": "Jason",
        "lastName": "Hunter",
        "email": "bbbb"
    }, {
        "firstName": "Elliotte",
        "lastName": "Harold",
        "email": "cccc"
    }],
    "authors": [{
        "firstName": "Isaac",
        "lastName": "Asimov",
        "genre": "sciencefiction"
    }, {
        "firstName": "Tad",
        "lastName": "Williams",
        "genre": "fantasy"
    }, {
        "firstName": "Frank",
        "lastName": "Peretti",
        "genre": "christianfiction"
    }],
    "musicians": [{
        "firstName": "Eric",
        "lastName": "Clapton",
        "instrument": "guitar"
    }, {
        "firstName": "Sergei",
        "lastName": "Rachmaninoff",
        "instrument": "piano"
    }]
}

JSON 解析网站

JSON在线解析及格式化验证

Java 解析 JSON

所需 JAR 包

要使程序可以运行必须引入JSON-lib包——org.json.jar包。综合来看,这个JAR包比较好用。

DEMO

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class Test {

    public static void main(String[] args) {

        String s = "{\"programmers\":[{\"firstName\":\"Brett\",\"lastName\":\"McLaughlin\",\"email\":\"aaaa\"},{\"firstName\":\"Jason\",\"lastName\":\"Hunter\",\"email\":\"bbbb\"},{\"firstName\":\"Elliotte\",\"lastName\":\"Harold\",\"email\":\"cccc\"}]";

        JSONObject jsonObject;
        JSONArray jsonArray;
        try {
            jsonObject = new JSONObject(s);
            jsonArray = jsonObject.getJSONArray("programmers");

            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject j = (JSONObject) jsonArray.get(i);
                System.out.println(j.get("firstName"));
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,833评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,978评论 25 709
  • 月初工作室推出了三款绿松石新品,今天我们来谈谈该怎么保养。绿松石作为后起的新兴玉石材料,因其如水细腻的色泽深受玉友...
    玉天下阅读 3,093评论 0 0
  • 人活久了,总会有惊喜的。 大风刮来明净的天空和美丽的彩云 行人驻足观看 很满足 烦恼随着云儿划过天际 云儿 你是小...
    呆瓜呦收了你阅读 968评论 0 0
  • 消失的克洛哀(逝去的春华) 稀疏寥寥的叶子里,杂着细碎的真相,在被霜裹着的白桦树下,隐藏。 探员加...
    拢清风阅读 1,576评论 0 0

友情链接更多精彩内容