这是asmx方法:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public String mtdImporteUsuario()
{
JavaScriptSerializer ser = new JavaScriptSerializer();
List<UsuarioBO> usuarios = new List<UsuarioBO>();
try
{
query = new Procedimientos().QSelectAllUsers();
ds = new ConexionBD().mtdEjecutaQuery_DS(query, "Usuarios");
foreach (DataRow dr in ds.Tables[0].Rows)
{
usuarios.Add(new UsuarioBO
{
O_COD = 1,
O_MENSAJE = "OK",
NId_usuario = Convert.ToInt32(dr["idusuario"]),
SCod_cuenta = dr["cuenta"].ToString(),
SCod_password = dr["password"].ToString(),
NNum_rut = Convert.ToInt32(dr["num_RutUsuario"]),
SDv_rut = dr["dv_RutUsuario"].ToString(),
SGls_nombre = dr["primer_nombre"].ToString(),
SGls_apellido_paterno = dr["apellido_paterno"].ToString(),
SGls_apellido_materno = dr["apellido_materno"].ToString(),
NId_perfil = Convert.ToInt32(dr["idperfil"])
});
}
}
catch (Exception ex)
{
throw ex;
}
return ser.Serialize(usuarios);
}
,回复是:
<?xml version="1.0" encoding="UTF-8"?>
<string xmlns="http://tempuri.org/">[{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":4,"NId_perfil":1155,"NNum_rut":10584082,"SGls_nombre":"Juan","SCod_cuenta":"jancan","SCod_password":"12345","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"Ancan","SGls_apellido_materno":"","SDv_rut":"9"},{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":13,"NId_perfil":1155,"NNum_rut":10584080,"SGls_nombre":"Marco","SCod_cuenta":"msuazo","SCod_password":"msuazo","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"Suazo","SGls_apellido_materno":"","SDv_rut":"2"},{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":15,"NId_perfil":1122,"NNum_rut":10584082,"SGls_nombre":"Administrador","SCod_cuenta":"gallendes","SCod_password":"joi7jiuml","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"","SGls_apellido_materno":"tratos","SDv_rut":"9"},{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":16,"NId_perfil":1155,"NNum_rut":11072809,"SGls_nombre":"Juan","SCod_cuenta":"jchavez","SCod_password":"claudia","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"Chavez","SGls_apellido_materno":"","SDv_rut":"3"},{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":17,"NId_perfil":1155,"NNum_rut":11994419,"SGls_nombre":"German","SCod_cuenta":"gcabrera","SCod_password":"210372","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"Cabrera","SGls_apellido_materno":"","SDv_rut":"8"},{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":20,"NId_perfil":145,"NNum_rut":17203522,"SGls_nombre":"Jose Francisco","SCod_cuenta":"jfhurtado","SCod_password":"123","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"Hurtado","SGls_apellido_materno":"Ruiz-Tagle","SDv_rut":"1"},{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":21,"NId_perfil":1122,"NNum_rut":10584082,"SGls_nombre":"Roberto","SCod_cuenta":"tratos","SCod_password":"tratos","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"Puga","SGls_apellido_materno":"Y.","SDv_rut":"9"},{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":22,"NId_perfil":1155,"NNum_rut":18084387,"SGls_nombre":"Nazareno","SCod_cuenta":"nfigueroa","SCod_password":"supervisor","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"Figueroa","SGls_apellido_materno":"","SDv_rut":"6"},{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":23,"NId_perfil":1155,"NNum_rut":10584082,"SGls_nombre":"Jose Luis","SCod_cuenta":"jlramirez","SCod_password":"jose","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"Ramirez","SGls_apellido_materno":"","SDv_rut":"9"},{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":24,"NId_perfil":1155,"NNum_rut":10584082,"SGls_nombre":"Manuel","SCod_cuenta":"mcorrea","SCod_password":"manuel","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"Correa","SGls_apellido_materno":"","SDv_rut":"9"},{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":25,"NId_perfil":144,"NNum_rut":1,"SGls_nombre":"Administrador ","SCod_cuenta":"nubix","SCod_password":"admin","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"","SGls_apellido_materno":"","SDv_rut":"9"},{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":26,"NId_perfil":146,"NNum_rut":5777261,"SGls_nombre":"Franco","SCod_cuenta":"fnieri","SCod_password":"fnieri","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"Nieri","SGls_apellido_materno":"","SDv_rut":"1"},{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":27,"NId_perfil":1122,"NNum_rut":17248311,"SGls_nombre":"Camila Fernanda Valentina","SCod_cuenta":"cflores","SCod_password":"nene2302","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"Flores","SGls_apellido_materno":"Haub","SDv_rut":"9"},{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":28,"NId_perfil":1,"NNum_rut":1,"SGls_nombre":"nombreDermo","SCod_cuenta":"dermo","SCod_password":"dermo","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"ApellidoPat","SGls_apellido_materno":"ApellidoMat","SDv_rut":"9"},{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":29,"NId_perfil":1,"NNum_rut":1,"SGls_nombre":"dime","SCod_cuenta":"dimetu","SCod_password":"dimeyo","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"tu","SGls_apellido_materno":"yo","SDv_rut":"9"},{"O_COD":1,"O_MENSAJE":"OK","NId_usuario":30,"NId_perfil":2,"NNum_rut":1,"SGls_nombre":"no","SCod_cuenta":"dimeyo","SCod_password":"dimetu","SFoto":"","SFotoOri":"","SGls_apellido_paterno":"mb","SGls_apellido_materno":"re","SDv_rut":"9"}]</string>
我如何从android中读取该响应?
答案 0 :(得分:0)
Android具有通过包org.json的类操作JSON的内置功能:http://developer.android.com/reference/org/json/package-summary.html
如果您想创建一个Usuario对象列表,在这些情况下,我通常使用像Jackson http://jackson.codehaus.org/或gson https://code.google.com/p/google-gson/
这样的东西。在这两种情况下,您都必须创建一个Java Bean,即一个Usuario.java类,其中所有字段都是私有的,所有getter和setter都是公共的,例如:
public class User {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() { return name; }
}
你可以使用jackson:
进行反序列化String string = [{"name": "nameA"}, {"name":"nameB"}];
ObjectMapper mapper = new ObjectMapper();
Usuario[] usuarios = mapper.fromString(string, User[].class);
在你的情况下,你应该先删除第一行。