Estoy tratando de hacer algo como:
public static final JSONObject MYOBJ = new JSONObject().put("value", "expression");
pero eclipse se enoja y dice que hay un error en la línea a pesar de que la información sobre herramientas muestra No solutions available
He intentado cambiar JSONObject
digitar String
Y sigue siendo el mismo problema. Me estoy alejando de los mapas hash y me gustaría usar JSON.
** EDITAR - ubicación del código **
package ...
import ...
public class MyActivity extends Activity {
public static final JSONObject MYOBJ = new JSONObject().put("value", "expression");
... // onCreate etc
}
Respuestas
6 para la respuesta № 1Bueno, parece que el objeto JSON tiene una excepción marcada que debe ser manejada. Prueba esto
public static final JSONObject MYOBJ = new JSONObject(){
{
try {
put("value", "expression");
} catch(Exception e){
e.printStackTrace();
}
}
};
1 para la respuesta № 2
El resultado de put () es un objeto. Hazlo en dos líneas y todo está bien.
public static final JSONObject MYOBJ = new JSONObject();
static {
MYOBJ.put("value", "expression");
}
Tenga en cuenta que el final estático no impide que se modifique el objeto, solo que la referencia original MYOBJ siempre será el mismo objeto.
Editar: Ah, probablemente estaba usando un sabor diferente de la biblioteca JSON. No obstante, el enfoque anterior probablemente funcionará bien. Si todos los tipos coinciden, agregue más parens a la línea original.