Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 编写一个通用方法来解析JSON字符串中的特定字段_Java_Json_Parsing_Key_Key Value - Fatal编程技术网

Java 编写一个通用方法来解析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",

我正在尝试编写一个方法,从我拥有的json字符串中获取“device_identifier”值。json字符串如下所示

{"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中。但是,我不知道。试试看。这会让你的生活更轻松。