文
章
目
录
章
目
录
Java 中没有内置任何处理 JSON 数据的函数或库,所以我们需要借助一些开源的库来实现 JSON 数据的创建和解析,比较常用的有 JSON.simple、Jackson、Fastjson、Gson、Moshi 等,接下来以 JSON.simple 为例,来演示一下如何使用 Java 来创建和解析 JSON 数据。
json.simple库允许我们在Java中读取和写入JSON数据。换句话说,我们可以使用json.simple库在Java中对JSON对象进行编码和解码。
org.json.simple包包含了JSON API的重要类。
- JSONValue
- JSONObject
- JSONArray
- JsonString
- JsonNumber
安装json.simple
要安装json.simple,您需要设置json-simple.jar的类路径或添加Maven依赖项。
下载json-simple.jar这里就不说了,要添加Maven依赖项如下:
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>
Java JSON编码
让我们看一个简单的示例,以在Java中对JSON对象进行编码。
import org.json.simple.JSONObject;
public class JsonExample1{
public static void main(String args[]){
JSONObject obj=new JSONObject();
obj.put("name","sonoo");
obj.put("age",new Integer(27));
obj.put("salary",new Double(600000));
System.out.print(obj);
}}
输出:
{"name":"sonoo","salary":600000.0,"age":27}
使用Map进行Java JSON编码
让我们看一个简单的示例,以在Java中使用Map对JSON对象进行编码。
import java.util.HashMap;
import java.util.Map;
import org.json.simple.JSONValue;
public class JsonExample2{
public static void main(String args[]){
Map obj=new HashMap();
obj.put("name","sonoo");
obj.put("age",new Integer(27));
obj.put("salary",new Double(600000));
String jsonText = JSONValue.toJSONString(obj);
System.out.print(jsonText);
}}
输出:
{"name":"sonoo","salary":600000.0,"age":27}
Java JSON数组编码
让我们看一个简单的示例,以在Java中对JSON数组进行编码。
import org.json.simple.JSONArray;
public class JsonExample1{
public static void main(String args[]){
JSONArray arr = new JSONArray();
arr.add("sonoo");
arr.add(new Integer(27));
arr.add(new Double(600000));
System.out.print(arr);
}}
输出:
["sonoo",27,600000.0]
使用List进行Java JSON数组编码
让我们看一个简单的示例,以在Java中使用List对JSON数组进行编码。
import java.util.ArrayList;
import java.util.List;
import org.json.simple.JSONValue;
public class JsonExample1{
public static void main(String args[]){
List arr = new ArrayList();
arr.add("sonoo");
arr.add(new Integer(27));
arr.add(new Double(600000));
String jsonText = JSONValue.toJSONString(arr);
System.out.print(jsonText);
}}
输出:
["sonoo",27,600000.0]
Java JSON解码
让我们看一个简单的示例,以在Java中解码JSON字符串。
import org.json.simple.JSONObject;
import org.json.simple.JSONValue;
public class JsonDecodeExample1 {
public static void main(String[] args) {
String s="{\"name\":\"sonoo\",\"salary\":600000.0,\"age\":27}";
Object obj=JSONValue.parse(s);
JSONObject jsonObject = (JSONObject) obj;
String name = (String) jsonObject.get("name");
double salary = (Double) jsonObject.get("salary");
long age = (Long) jsonObject.get("age");
System.out.println(name+" "+salary+" "+age);
}
}
输出:
sonoo 600000.0 27
扩展
Java中将JSON数组转换为List:FastJson、Gson、Jackson和Org.json