使用 javax 时如何更改 JSONObject 的类型
How change type of JSONObject when using javax
我有一个 StringBuilder
:
我的代码如下:
String response = sb.toString();
// logger.info("response is '{}' ", response);
JsonObject jsonObject = new JsonObject(response);
JsonObject fileStatuses = jsonObject.getJsonObject("FileStatuses");
JsonArray fileStatus = (JsonArray) fileStatuses.getJsonArray("FileStatus");
for (int i = 0; i < fileStatus.size(); ++i) {
JsonObject rec = fileStatus.getJsonObject(i);
String pathSuffix = rec.getString("pathSuffix");
logger.info(" the pathSuffix value is '{}' ", pathSuffix );
}
我想使用 javax.json.JsonObject
而不是 org.json.JsonObject
。
所以,问题出在new JsonObject(response);
==> Cannot instantiate the type JsonObject
.
我知道 org.json.JSONObject
有一个接受字符串的构造函数,但我认为使用 javax.json.JsonObject
时情况并非如此。
我如何更正我的代码以使 JsonObject jsonObject = new JsonObject(response)
获取字符串并继续使用 javax.json.JsonObject
class?
根据它的 API 而不是使用 JsonObject jsonObject = new JsonObject(response);
你可以从你的 response
-String 实例化它,像这样:
String response = sb.toString();
StringReader reader = new StringReader(response);
JsonReader jsonReader = Json.createReader(reader);
JsonObject jsonObject = jsonReader.readObject();
jsonReader.close();
我有一个 StringBuilder
:
我的代码如下:
String response = sb.toString();
// logger.info("response is '{}' ", response);
JsonObject jsonObject = new JsonObject(response);
JsonObject fileStatuses = jsonObject.getJsonObject("FileStatuses");
JsonArray fileStatus = (JsonArray) fileStatuses.getJsonArray("FileStatus");
for (int i = 0; i < fileStatus.size(); ++i) {
JsonObject rec = fileStatus.getJsonObject(i);
String pathSuffix = rec.getString("pathSuffix");
logger.info(" the pathSuffix value is '{}' ", pathSuffix );
}
我想使用 javax.json.JsonObject
而不是 org.json.JsonObject
。
所以,问题出在new JsonObject(response);
==> Cannot instantiate the type JsonObject
.
我知道 org.json.JSONObject
有一个接受字符串的构造函数,但我认为使用 javax.json.JsonObject
时情况并非如此。
我如何更正我的代码以使 JsonObject jsonObject = new JsonObject(response)
获取字符串并继续使用 javax.json.JsonObject
class?
根据它的 API 而不是使用 JsonObject jsonObject = new JsonObject(response);
你可以从你的 response
-String 实例化它,像这样:
String response = sb.toString();
StringReader reader = new StringReader(response);
JsonReader jsonReader = Json.createReader(reader);
JsonObject jsonObject = jsonReader.readObject();
jsonReader.close();