0
在此之后question on SO我遇到了问题。这是我试图解析JSON:Gson - 非静态变量不能从静态上下文中引用
{
"origin": "XX.XX.XXX.XXX"
}
这里是我的三个主要类别的重要组成部分:
DDNS.java
public static void main(String[] args) throws Exception {
Net.returnIp();
System.out.println(Data.origin);
}
Net.java
static void returnIp() throws UnsupportedEncodingException, MalformedURLException, IOException {
//Ommited code, all it does is do a GET request to get response
String responseString = new Scanner(response,"UTF-8").useDelimiter("\\A").next();
Data data = new Gson().fromJson(responseString, Data.class);
}
Data.java
public class Data {
public String origin;
@Override
public String toString() {
return String.format("ip:%s", origin);
}
}
除非我忽略了答案中的某些内容,否则我不完全确定自己做错了什么,尽管我有一个粗略的想法。有人能解释为什么会发生这种情况吗?谢谢。
'origin'不是'static'。 – awksp
既不Data ... – aldux
@ user3580294是的,我可以得到这么多,但我对Java非常新,并没有完全理解静态对象。我不能只声明它是静态的,那么我该如何解决它?感谢您的意见。 – Novicode