Java:将json值提取为个体

Java:将json值提取为个体,java,json,Java,Json,我用java编写了这个json: jsonObj = {"ps":["2.16.840.1.113883.6.1","LOINC","2.34"]} jsonObj是来自API的响应,所以我将其作为jsonObject,而不是从任何文件中读取它 有没有一种简单的方法可以像jsonObj[1]那样提取所有作为个体的值 您可以按如下方式使用Gson解析库: Gson gson = new Gson(); // 1. JSON to Java object, read it from a file

我用java编写了这个json:

jsonObj = {"ps":["2.16.840.1.113883.6.1","LOINC","2.34"]}
jsonObj
是来自API的响应,所以我将其作为jsonObject,而不是从任何文件中读取它


有没有一种简单的方法可以像
jsonObj[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");
对于阵列使用:

//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(); 

您应该使用库来反序列化Java对象中的JSON。 图书馆喜欢,或者。
在对象中转换json后,它将具有一个名为“ps”的属性,该属性将是一个数组(或列表)

当然可以。将json解析为pojo或映射(表示对象)和列表(表示数组)的组合,并分别访问值。但是语法会有些不同(例如,像
parsedObject.getPs()[1]
),您希望jsonObj[1]返回什么?“LOINC”@zuno是的,没错。在
JSONArray ja_data=jsonObj.getJSONArray(“数据”)
什么是
data