Java 的 json 可以通过 org.json 来实现,本文主要讲解下 json 的使用,我们通过一个真实的案例来说明下json 在 Java 中的应用。
首先,我们要在工程中导入 json ,通过 maven 下载
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>
剩下的看代码吧,这是一段是获取网易云的云服务器 token 值
package com.netease.nvm;
import okhttp3.*;
import org.json.JSONObject;
import java.io.IOException;
public class NosAuth {
public static void main(String[] args) throws IOException {
final String ACCESSKEY = "";
final String SECREKEY = "";
final String API = "https://open.c.163.com";
// 创建 json 对象,并添加键值对
JSONObject json = new JSONObject();
json.put("app_key",ACCESSKEY);
json.put("app_secret",SECREKEY);
// 创建 okHttp 对象
OkHttpClient client = new OkHttpClient();
// 设置类型为 application/json
MediaType mediaType = MediaType.parse("application/json");
// 构建 body 内容
RequestBody body = RequestBody.create(mediaType,json.toString());
// 发送 request 请求
Request request = new Request.Builder()
.url(API+"/api/v1/token")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Cache-Control", "no-cache")
.build();
// 获取响应信息
Response response = client.newCall(request).execute();
// 如果响应状态 为401 则说明认证失败
if (response.code() == 401 ) {
System.out.printf("请检查 app_key 或 app_secret 的值是否正确 \n");
}
// 获取 token 信息
String jsonMessage = response.body().string();
// 将 字符串 转为 json 对象
JSONObject myJsonObject = new JSONObject(jsonMessage);
// 获取 json 中的key 的值
System.out.printf(myJsonObject.getString("token"));
}
}
最终得到