Como converter jsonString para JSONObject em Java

Eu tenho uma variável String chamada jsonString:

{"phonetype":"N95","cat":"WP"}

Agora eu quero convertê-lo em objecto JSON. Procurei mais no Google, mas não obtive'não obtive nenhuma resposta esperada...

Solução

Usando a biblioteca org.json:

try {
     JSONObject jsonObject = new JSONObject("{\"phonetype\":\"N95\",\"cat\":\"WP\"}");
}catch (JSONException err){
     Log.d("Error", err.toString());
}
Comentários (21)

Você pode utilizar o google-gson. Detalhes:

**Exemplos objetados***

class BagOfPrimitives {
  private int value1 = 1;
  private String value2 = "abc";
  private transient int value3 = 3;
  BagOfPrimitives() {
    // no-args constructor
  }
}

(Serialização)

BagOfPrimitives obj = new BagOfPrimitives();
Gson gson = new Gson();
String json = gson.toJson(obj); 
==> json is {"value1":1,"value2":"abc"}

Note que você não pode serializar objetos com referências circulares, pois isso resultará em uma repetição infinita.

(Deserialização)

BagOfPrimitives obj2 = gson.fromJson(json, BagOfPrimitives.class);  
==> obj2 is just like obj

Outro exemplo para Gson:

Gson é fácil de aprender e implementar, você precisa saber quais são os dois métodos a seguir:

-> toJson() - converter objeto java para o formato JSON

-> deJson() - converter JSON em objeto java

import com.google.gson.Gson;

public class TestObjectToJson {
  private int data1 = 100;
  private String data2 = "hello";

  public static void main(String[] args) {
      TestObjectToJson obj = new TestObjectToJson();
      Gson gson = new Gson();

      //convert java object to JSON format
      String json = gson.toJson(obj);

      System.out.println(json);
  }

}

**Saída***

{"data1":100,"data2":"hello"}

Recursos:

Página inicial do Projeto Google Gson

Guia do Usuário Gson

Exemplo

Comentários (4)

Existem vários serializadores e deserializadores Java JSON ligados a partir da página inicial do JSON.

A partir deste escrito, existem estes 22:

...mas é claro que a lista pode mudar.

Comentários (0)