我正在尝试做类似的事情:
public static final JSONObject MYOBJ = new JSONObject().put("value", "expression");
但eclipse发疯了并说即使工具提示显示No solutions available
我已尝试将JSONObject
更改为String
,但问题仍然存在。我正在回避哈希地图,并且非常想使用JSON。
**编辑 - 代码位置**
package ...
import ...
public class MyActivity extends Activity {
public static final JSONObject MYOBJ = new JSONObject().put("value", "expression");
... // onCreate etc
}
答案 0 :(得分:6)
似乎JSONObject有一个必须处理的已检查异常。试试这个
public static final JSONObject MYOBJ = new JSONObject(){
{
try {
put("value", "expression");
} catch(Exception e){
e.printStackTrace();
}
}
};
答案 1 :(得分:2)
put()的结果是一个Object。 做两行,一切都很好。
public static final JSONObject MYOBJ = new JSONObject();
static {
MYOBJ.put("value", "expression");
}
请注意,静态final不会阻止对象被更改,只是原始引用MYOBJ将始终是同一个对象。
编辑: 啊,我可能使用了不同风格的JSON库。尽管如此,上述方法可能会很好地工作。如果所有类型都匹配,请在原始行中添加一些parens。