Java JSON的解析与创建

后端 潘老师 6个月前 (10-19) 128 ℃ (0) 扫码查看

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

fastjson 2.0版本简单介绍与学习,性能大幅提升


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/back/9890.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】