Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java(android)从头开始创建JSONObject_Java_Android_Eclipse - Fatal编程技术网

java(android)从头开始创建JSONObject

java(android)从头开始创建JSONObject,java,android,eclipse,Java,Android,Eclipse,我试着做一些类似的事情: public static final JSONObject MYOBJ = new JSONObject().put("value", "expression"); 但是eclipse生气地说,尽管工具提示显示没有可用的解决方案 我已经尝试将JSONObject更改为typeString,但问题仍然是一样的。我不想使用散列映射,我真的很想使用JSON **编辑-代码位置** package ... import ... public class MyActivi

我试着做一些类似的事情:

public static final JSONObject MYOBJ = new JSONObject().put("value", "expression");
但是eclipse生气地说,尽管工具提示显示
没有可用的解决方案

我已经尝试将
JSONObject
更改为type
String
,但问题仍然是一样的。我不想使用散列映射,我真的很想使用JSON

**编辑-代码位置**

package ...

import ...

public class MyActivity extends Activity {
    public static final JSONObject MYOBJ = new JSONObject().put("value", "expression");

    ... // onCreate etc
}
put()的结果是一个对象。 分两行做,一切都好

public static final JSONObject MYOBJ = new JSONObject();
static {
  MYOBJ.put("value", "expression");
}
请注意,静态final不会阻止对象被更改,只是原始引用MYOBJ将始终是同一个对象

编辑: 啊,我可能使用了不同风格的JSON库。尽管如此,上述方法可能会很好地发挥作用。如果所有类型都匹配,则向原始行添加更多的参数。

put()的结果是一个对象。 分两行做,一切都好

public static final JSONObject MYOBJ = new JSONObject();
static {
  MYOBJ.put("value", "expression");
}
请注意,静态final不会阻止对象被更改,只是原始引用MYOBJ将始终是同一个对象

编辑:
啊,我可能使用了不同风格的JSON库。尽管如此,上述方法可能会很好地发挥作用。如果所有类型都匹配,则在原始行中添加更多的参数。

看来JSONObject有一个必须处理的已检查异常。试试这个

public static final JSONObject MYOBJ = new JSONObject(){
    {
        try {
            put("value", "expression");
        } catch(Exception e){
            e.printStackTrace();
        }
    }
};

看来JSONObject有一个必须处理的已检查异常。试试这个

public static final JSONObject MYOBJ = new JSONObject(){
    {
        try {
            put("value", "expression");
        } catch(Exception e){
            e.printStackTrace();
        }
    }
};

你到底把这个语句放在哪里?你到底把这个语句放在哪里?对于哪个JSONObject?根据这一点,它是一个JSONObject,非常确定它是一个例外;)@杰克逊的
静态
与此无关
final
表示引用在赋值后不会更改,
static
表示它是一个类变量(与实例变量相反)。@Dave我想我的用法是错误的,但无论哪种方式,我在第2-4行中都给出了+1。@Jackson哦,那是;我懂了。是的,静态初始化块。哪个JSONObject?根据这一点,它是一个JSONObject,非常确定它是一个例外;)@杰克逊的
静态
与此无关
final
表示引用在赋值后不会更改,
static
表示它是一个类变量(与实例变量相反)。@Dave我想我的用法是错误的,但无论哪种方式,我在第2-4行中都给出了+1。@Jackson哦,那是;我懂了。是的,静态初始化块。这是一个难题,似乎运行时异常会是一个更好的选择。幸运的是,它不是
final
,所以抛出RTE的委托类是很麻烦的:)这是一个难题,似乎运行时异常是一个更好的选择。幸运的是,它不是
最终的
,因此抛出RTE的委托类是不可取的:)