Tia*_*ini 42 java android json
我需要将一些对象序列化为JSON并发送到WebService.我怎么能用org.json库来做呢?或者我将不得不使用另一个?这是我需要序列化的类:
public class PontosUsuario {
public int idUsuario;
public String nomeUsuario;
public String CPF;
public String email;
public String sigla;
public String senha;
public String instituicao;
public ArrayList<Ponto> listaDePontos;
public PontosUsuario()
{
//criando a lista
listaDePontos = new ArrayList<Ponto>();
}
}
Run Code Online (Sandbox Code Playgroud)
我只放了类的变量和构造函数,但它也有getter和setter.所以如果有人可以帮忙请
Bit*_*man 67
没有注释的简单方法是使用Gson库
就那么简单:
Gson gson = new Gson();
String json = gson.toJson(listaDePontos);
Run Code Online (Sandbox Code Playgroud)
也可以使用Jackson库。
添加Maven依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
只需这样做:
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString( serializableObject );
Run Code Online (Sandbox Code Playgroud)
您发出 http 请求
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
inputStream = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
Run Code Online (Sandbox Code Playgroud)
你读缓冲区
String line = null;
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
Log.d("Result", sb.toString());
result = sb.toString();
Run Code Online (Sandbox Code Playgroud)
创建一个JSONObject并将结果字符串传递给构造函数:
JSONObject json = new JSONObject(result);
Run Code Online (Sandbox Code Playgroud)
将 json 结果解析为您想要的变量:
String usuario= json.getString("usuario");
int idperon = json.getInt("idperson");
String nombre = json.getString("nombre");
Run Code Online (Sandbox Code Playgroud)
不要忘记导入:
import org.json.JSONObject;
Run Code Online (Sandbox Code Playgroud)