使用 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()
我想用 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()