Java:将json值提取为个体

时间:2017-07-05 14:07:17

标签: java json

我在java中有这个json:

jsonObj = {"ps":["2.16.840.1.113883.6.1","LOINC","2.34"]}

jsonObj是来自API的响应,所以我把它作为jsonObject,我不会从任何文件中读取它。

有没有一种简单的方法可以像jsonObj [1]那样提取所有值?

2 个答案:

答案 0 :(得分:1)

您可以使用Gson解析库,如下所示:

Gson gson = new Gson();

// 1. JSON to Java object, read it from a file.
Staff staff = gson.fromJson(new FileReader("D:\\file.json"), Staff.class);

// 2. JSON to Java object, read it from a Json String.
String jsonInString = "{'name' : 'mkyong'}";
Staff staff = gson.fromJson(jsonInString, Staff.class);

// JSON to JsonElement, convert to String later.
JsonElement json = gson.fromJson(new FileReader("D:\\file.json"), JsonElement.class);
    String result = gson.toJson(json);


Gson gson = new Gson();
String jsonInString = "{\"userId\":\"1\",\"userName\":\"Yasir\"}";
User user= gson.fromJson(jsonInString, User.class);

或只是使用:

示例

JSONObject object = new JSONObject(your_json_response_string);
String IMEICheckResponse  = object.getString("getIMEIResult");

for Array use:

//getting whole json string
JSONObject jsonObj = new JSONObject(jsonStr);

//extracting data array from json string
JSONArray ja_data = jsonObj.getJSONArray("data");
int length = jsonObj .length(); 

答案 1 :(得分:0)

您应该使用库来反序列化Java对象中的JSON。 像GSONGensonJackson这样的图书馆。 一旦你在一个对象中转换json,它就会有一个名为" ps"这将是一个数组(或列表)