使用 java 静态错误读出 Json

Reading out a Json using java static error

我想用 java 加载 json g文件并将数据存储在变量中

我试过了,但总是报错

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

您将变量与 Class 混淆了。

你应该写

Object obj = parser.parse(reader);

parser 是你的 var,它包含一个 Instance of JsonParser,它有方法 parse()

而不是

Object obj = JsonParser.parse(reader);

JsonParser 是没有静态方法的 Class JsonParser parse()