Java 编写一个通用方法来解析JSON字符串中的特定字段
我正在尝试编写一个方法,从我拥有的json字符串中获取“device_identifier”值。json字符串如下所示Java 编写一个通用方法来解析JSON字符串中的特定字段,java,json,parsing,key,key-value,Java,Json,Parsing,Key,Key Value,我正在尝试编写一个方法,从我拥有的json字符串中获取“device_identifier”值。json字符串如下所示 {"widget": { "debug": "on", "window": { "title": "Sample Konfabulator Widget", "name": "main_window", "width": 500, "height": 500 }, "image": { "src": "Images/Sun.png",
{"widget": {
"debug": "on",
"window": {
"title": "Sample Konfabulator Widget",
"name": "main_window",
"width": 500,
"height": 500
},
"image": {
"src": "Images/Sun.png",
"name": "sun1",
"hOffset": 250,
"vOffset": 250,
"alignment": "center"
},
"text": {
"data": "Click Here",
"size": 36,
"style": "bold",
"name": "text1",
"hOffset": 250,
"vOffset": 100,
"alignment": "center",
"onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
}
}}
我想写的是:
private static String getCustomFieldInauth(Object customFields, String fieldName) throws IOException {
if (customFields == null) {
return null;
}
JsonFactory factory = new JsonFactory();
JsonParser parser = factory.createParser(fieldName);
while(!parser.isClosed()){
JsonToken jsonToken = parser.nextToken();
if(JsonToken.FIELD_NAME.equals(jsonToken)){
String currentKey = parser.getCurrentName();
jsonToken = parser.nextToken();
if(fieldName.equals(currentKey)){
return parser.getValueAsString();
}
}
}
return parser.getValueAsString();
}
现在,我只是尝试将JSON映射为一个键值对。我的方法应该是什么?这是如何实现的。有人能帮我吗
提前谢谢你的帮助 您是否尝试过使用像Json Jackson或Gson这样的Java Json解析器?您的方法需要一个映射,而不是Json字符串。@PauloPedroso不,我没有。但是我在想。然而,我想知道Java是否有JSON解析,我知道它在JS中。但是,我不知道。试试看。这会让你的生活更轻松。