如何在android studio中获取JSON对象的字段?

时间:2017-11-18 20:28:21

标签: java android arrays json android-edittext

我有一个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字符串。

2 个答案:

答案 0 :(得分:0)

有一个库可以将Json对象转换为调用function zeros(n) { var result = 0; while (n = Math.floor(n / 5)) result += n; return result; }

的android模型

首先使用您的输入对象创建一个模型,如下所示:

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();
     }