使用Java静态错误读取Json

时间:2019-03-25 16:15:11

标签: java json filereader

我想用Java加载json gfile并将数据存储在变量中

我已经尝试过了,但是总是出现错误

import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.io.*
...

        JsonParser parser = new JsonParser();
        try (FileReader reader = new FileReader("/opt/step-agent/conf/conf_internet_explorer.json"))
        {
            Object obj = JsonParser.parse(reader);
            JsonObject config = (JsonObject) obj;
            String driverPath = config.get("driverPath").getAsString();
            String HttpProxy = config.get("HttpProxy").getAsString();
            String SslProxy = config.get("SslProxy").getAsString();
            boolean proxy = (boolean) config.get("proxy");
        }catch (Exception e){
            e.printStackTrace();
        }

json

{
    "config": {
        "driverPath":"path/to/driver",
        "proxy":true,
        "HttpProxy":"http://proxy.local:80",
        "SslProxy":"http://proxy.local:80",
    }
}

错误:

non-static method parse(java.io.Reader) cannot be referenced from a static context

1 个答案:

答案 0 :(得分:1)

您将var与Class混合在一起。

您应该写

Object obj = parser.parse(reader);

parser是您的变量,其中包含一个Instance of JsonParser,该变量具有方法parse()

代替

Object obj = JsonParser.parse(reader);

JsonParserClass JsonParser,没有静态方法parse()