我有一个Android应用程序和一个Web服务。当我想编辑一些寄存器时,我必须从数据库中获取整个记录并将每个字段放在编辑文本中。
Web服务将此返回给Android应用程序
[{"id":"6","0":"6","tipo":"No Oxidado","1":"No Oxidado","fecha":"2015-02-02","2":"2015-02-02","ubicacion":"-1.555505, -6.6171","3":"-1.555505, -6.6171","persona":"Laura Morales","4":"Laura Morales","fotografia":"-","5":"-"}]
我有一个名为“result”的变量,它有这个JSON字符串
如何在Android应用程序中将每个字段放在独立的编辑文本中?
类似的东西:
txtid.setText(result[0]);
txtType.setText(result[1]);
txtDate.setText(result[2]);
txtLocation.setText(result[3]);
txtPerson.setText(result[4]);
其中“result”是我的JSON字符串。
答案 0 :(得分:0)
有一个库可以将Json对象转换为调用function zeros(n) {
var result = 0;
while (n = Math.floor(n / 5)) result += n;
return result;
}
首先使用您的输入对象创建一个模型,如下所示:
GSON
接下来,您可以使用class InputModel {
String id;
String 0; //it's better to change this object name
String tipo;
...
}
将输入绑定到模型。它应该是这样的:
Gson
ps1:数据是你的输入字符串
ps2:如果您希望输入的名称与输入名称不同,则可以使用这样的注释:
InputModel mInput = new Gson().fromJson(data);
答案 1 :(得分:0)
尝试以下代码。
如果数组中有多个json对象
Prelude> putStrLn $ prettyShow (Structure "a" [Structure "b" [Structure "c" []], Structure "d" []])
a
b
c
d
如果你在数组中只有一个对象,则不需要直接使用for循环
String response = "[{"id":"6","0":"6","tipo":"No Oxidado","1":"No Oxidado","fecha":"2015-02-02","2":"2015-02-02","ubicacion":"-1.555505, -6.6171","3":"-1.555505, -6.6171","persona":"Laura Morales","4":"Laura Morales","fotografia":"-","5":"-"}]"
try {
JSONArray jsonArray = new JSONArray(response);
for (int i =0; i<jsonArray.length();i++){
JSONObject jsonObject = jsonArray.getJSONObject(i);
txtid.setText(jsonObject.getString("0"));
txtType.setText(jsonObject.getString("1"));
txtDate.setText(jsonObject.getString("2"));
}
} catch (JSONException e) {
e.printStackTrace();
}