1、代码如下:
package com.rf.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
* @description:
* @author: xiaozhi
* @create: 2020-05-21 20:51
public class TestJSON {
* JSON实际上也是键值对("key":"value")
* key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)
* value如果是字符串,用jsonobj.getString("key")获取
* value如果是数 字,用jsonobj.getIntValue("key"),jsonobj.getFloatValue("key"),jsonobj.getInteger("key")等基本数据类型及其包装类的方法获取
* value如果是布尔值,用jsonobj.getBoolean("key"),jsonobj.getBooleanValue("key")获取
* value如果是数 组,用jsonobj.getJSONArray("key")获取
* value如果是Object对象,用jsonobj.get("key"),获取
* value如果是JSONObject对象,用jsonobj.getJSONObject("key")获取
* 该方法用于将已有的json字符串转换为json对象,并取出该对象中相应的key对应的value值
* 将已有的字符串转换成jsonobject,用JSON.parseObject(jsonStr)方法
* json中只要是{}就代表一个JSONObject,[]就代表一个JSONArray
* 获取JSONObject对象用JSONObject jsonobject.getJSONObject("key")方法
* 获取JSONArray对象用JSONObject jsonobject.getJSONArray("key")方法
private static void parseJSON() {
String JsonData = "{\n" +
" \"name\":\"课程\",\n" +
" \"id\":3,\n" +
" \"sysProperty\": [\n" +
" { \"name\":\"java课程\", \"info\":[ \"js\", \"sql\", \"rabbitmq\" ] },\n" +
" { \"name\":\"spring课程\", \"info\":[ \"spring简介\", \"spring注解\", \"spring配置文件\" ] },\n" +
" { \"name\":\"python课程\", \"info\":[ \"语句\", \"语法\" ] }\n" +
" ]\n" +
"}";
JSONObject jsonobj = JSON.parseObject(JsonData);
System.out.println(jsonobj.get("sysProperty"));
System.out.println(jsonobj.getString("sysProperty"));
System.out.println(jsonobj.getJSONArray("sysProperty"));
System.out.println("----------------------------------------------");
System.out.println(jsonobj.getJSONArray("sysProperty").getJSONObject(0));
System.out.println(jsonobj.getJSONArray("sysProperty").get(0));
System.out.println(jsonobj.getJSONArray("sysProperty").getString(0));
System.out.println("=====================================");
System.out.println(jsonobj.getJSONArray("sysProperty").getJSONObject(0).getJSONArray("info"));
System.out.println(jsonobj.getJSONArray("sysProperty").getJSONObject(0).getJSONArray("info").getString(1));
System.out.println("####################################################");
JSONArray array = jsonobj.getJSONArray("sysProperty");
getJsonArrayItem(array);
System.out.println("--------------------------------------");
JSONArray arr = jsonobj.getJSONArray("sysProperty").getJSONObject(1).getJSONArray("info");
getJsonArrayItem(arr);
* 依次取出JSONArray中的值
private static void getJsonArrayItem(JSONArray array) {
for (int i=0; i<array.size(); i++) {
System.out.println(array.get(i));
public static void main(String[] args) {
parseJSON();
2、输出结果如下图:
一、解析json对象中嵌套一个json子对象示例1、代码如下:package com.rf.utils;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;/** * @description: * @author: xiaozhi * @create: 2020-05-21 20:51 */public class TestJSON { /** * JSON实际上也是键值对("
这里我们就只讨论对象与 json 如何互相转换。
这里我们先创建好 Maven 项目,方便引入依赖,通过单元测试来实际检验我们不同的解析方式。
下面我们都使用 User 对象,先创建好我们需要的类。
User.java
package org.example;
public class User
2 {}大括号代表的是一个对象
3 双引号“”表示的是属性值
4 冒号:代表的是前后之间的关系,冒号前面是属性的名称,后面是属性的值,这个值可以是基本数据类型,也可以是引用数据类型。
Fastjson中的经常调用的方法
parseObject(String text);: 把JSON文本parse成JSONObject
parse(String text);: 把JSON文本parse为JSONObject或者JSONArray
key 必须是字符串,value 可以是.
Scala解析Json字符串的实例详解
1. 添加相应依赖
Json解析工具使用的 json-smart,曾经对比过Java的fastjson、gson。Scala的json4s、lift-json。其中 json-smart 解析速度是最快的。
net.minidev
json-smart
2. Scala代码
package Test
1.浏览器支持的转换方式:
(1)JSON.stringify(obj)将JSON转化为字符串。
(2)JSON.parse(string)将字符串转为JSON格式。
如下图所示:
2.javascript支持的转换方式
eval(’(’+b+’)’);可以将json字符串转换为json对象
注意:需要在json字符串外包裹一对小括号,ie8(兼容模式),ie7和ie6也可以使...
fastjson可以通过JSON.parseObject()方法来解析json字符串,例如:
String jsonString = "{\"name\":\"张三\",\"age\":18}";
JSONObject jsonObject = JSON.parseObject(jsonString);
String name = jsonObject.getString("name");
int age = jsonObject.getIntValue("age");
这样就可以将json字符串解析成一个JSONObject对象,并从中获取相应的属性值。