JSON Java 解析

作者: 被称为L的男人 | 来源:发表于2016-07-16 16:11 被阅读251次

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

    }
}

相关文章

  • Spring Boot的Json解析方案

    Spring Boot的Json解析方案 1.JSon @ResponseBody 使java对象返回为Json数...

  • Fastjson

    Fastjson是基于Java开发的JSON解析器和生成器,是Alibaba开源的JSON解析库。 支持解析JSO...

  • 菜鸟笔记(五) - 常见传输格式解析

    本文将介绍使用Java解析json和生成json,解析xml以及生成xml的一些方法。 前提摘要:JSON和XML...

  • @SerializedName注解

    在Android中解析Gson解析json数据是很方便快捷的,可以直接将json数据解析成java对象或者集合。G...

  • Fastjson反序列化漏洞利用

    前言 Fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java Be...

  • Json解析(使用Gson)

    Json的解析成 java 对象 Gson gson = new Gson(); // 将json 转化成 j...

  • bom报头错误

    android解析json出错:JSONException: Value of type java.lang.St...

  • Gson

    谷歌对于JSON解析提供了一个开源框架称为GSON,相比于Java的Json要简单的多 解析 反向操作

  • fastjson 反序列化远程代码执行漏洞复现

    漏洞概述: fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java...

  • JAVA小记--gson 使用

    Json解析是Server Api通信中常用的方式,如何正确解析json往往带来一些苦难,许久不用java,以前写...

网友评论

  • 44304108e8bf:请问前端是直接传给后台json字符串,还是前端需要用$.param()方法对json字符串进行再次转化后,后台才能解析
    被称为L的男人:不需要,只要是json字符串即可,跨平台
  • ZOnePerson:老兄,你的org.json.jar包页面怎么404了?
    被称为L的男人:额,当时链接的CSDN,链接失效了。现在建议用阿里的fastJson,这个库比较好用。

本文标题:JSON Java 解析

本文链接:https://www.haomeiwen.com/subject/cwdujttx.html