我想用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
答案 0 :(得分:1)
您将var与Class混合在一起。
您应该写
Object obj = parser.parse(reader);
parser
是您的变量,其中包含一个Instance of JsonParser
,该变量具有方法parse()
代替
Object obj = JsonParser.parse(reader);
JsonParser
是Class JsonParser
,没有静态方法parse()