First you will need to create a class called Empresa
, below:
public class Empresa {
private Integer id;
private String idCategoria;
private String imagePath;
private String name;
private String shortDesc;
public Integer getId() {return id;}
public void setId(Integer id) {this.id = id;}
public String getIdCategoria() {return idCategoria;}
public void setIdCategoria(String idCategoria) {this.idCategoria = idCategoria;}
public String getImagePath() {return imagePath;}
public void setImagePath(String imagePath) {this.imagePath = imagePath;}
public String getName() {return name;}
public void setName(String name) {this.name = name;}
public String getShortDesc() {return shortDesc;}
public void setShortDesc(String shortDesc) {this.shortDesc = shortDesc;}
}
Now create a List
of type Empresa
and a JSONObject
by passing json
which is in String
as a parameter.
String jsonString = "{ \"empresa1\": { \"category_id\": \"Item 1\", \"id\": 1, \"imagePath\": \"imagem\", \"name\": \"empresa 1\", \"short_desc\": \"desc da empresa 1\" }, \"empresa2\": { \"category_id\": \"Item 1\", \"id\": 2, \"imagePath\": \"imagem\", \"name\": \"empresa2\", \"short_desc\": \"desc da empresa 2\" }, \"empresa3\": { \"category_id\": \"Item 1\", \"id\": 3, \"imagePath\": \"imagem\", \"name\": \"empresa3\", \"short_desc\": \"desc da empresa 3\" } }";
JSONObject jsonObjectEmpresas = new JSONObject(jsonString);
List<Empresa> listaDeEmpresas = new ArrayList<Empresa>();
After doing this, there are a few ways you can go through the keys and get their values. I'll post two examples.
Using the Iterator
interface:
Iterator<String> iteratorEmpresas = jsonObjectEmpresas.keys();
while (iteratorEmpresas.hasNext()) {
JSONObject dadosEmpresa = jsonObjectEmpresas.getJSONObject(iteratorEmpresas.next());
Empresa empresa = new Empresa();
empresa.setId(dadosEmpresa.getInt("id"));
empresa.setName(dadosEmpresa.getString("name"));
empresa.setIdCategoria(dadosEmpresa.getString("category_id"));
empresa.setImagePath(dadosEmpresa.getString("imagePath"));
empresa.setShortDesc(dadosEmpresa.getString("short_desc"));
listaDeEmpresas.add(empresa);
}
Using the Set
interface:
for (String keyEmpresa : jsonObjectEmpresas.keySet()) {
JSONObject dadosEmpresa = jsonObjectEmpresas.getJSONObject(keyEmpresa);
Empresa empresa = new Empresa();
empresa.setId(dadosEmpresa.getInt("id"));
empresa.setName(dadosEmpresa.getString("name"));
empresa.setIdCategoria(dadosEmpresa.getString("category_id"));
empresa.setImagePath(dadosEmpresa.getString("imagePath"));
empresa.setShortDesc(dadosEmpresa.getString("short_desc"));
listaDeEmpresas.add(empresa);
}
Touring the list of companies:
for (Empresa empresa : listaDeEmpresas) {
System.out.println("-----");
System.out.println("ID:" + empresa.getId());
System.out.println("NAME:" + empresa.getName());
System.out.println("ID CATEGORIA:" + empresa.getIdCategoria());
System.out.println("IMG PATH:" + empresa.getImagePath());
System.out.println("SHORT DESC:" + empresa.getShortDesc());
}
To work with json and automatic parse in a simple way, I recommend using the GSON library or Jackson .