0

我需要从这个 url的 json 中获取这两个信息“matricula”和“nome”,但我不知道该怎么做。我想使用这个类是一个不错的选择,但我不知道如何使用从 url 获取 json 的方法,而且我不知道如何在获取 json 后使用数组键。我很抱歉我要求你做整个工作,但因为我是 android dev 的新手,我真的对 jsonarray、jsonobjects 等感到困惑。

4

3 回答 3

0

JsonObject in like Map Interface in Java:

它存储具有关联值的键。

例子:

JsonObject obj = new JsonObject();
JsonObject obj1 = new JsonObject();
obj1.put("obj1_key1","obj1_value1");
obj1.put("obj1_key2","obj1_value2");
obj1.put("obj1_key3","obj1_value3");
obj.put("obj1",obj1);

JsonArray 就像 Java 中的List 接口

它存储索引从 0 到 N 的值。

例子:

JsonArray array = new JsonArray();
JsonObject obj  = new JsonObject();
obj.put("xxx","yyy");
array.add(obj);

当你想检索一个 json 字符串时,请记住,当数组以开头时[]需要使用 JsonArray 来解析它,当数组以开头时{}需要使用 JsonObject

你可以在这里看到一个例子

你的 JSON

{"matricula":"201110460","nome":"Daniel de Faria Pedro"}

这只是一个 JsonObject,因为它具有经典的“地图”样式键值关联。你需要做的是:

try {
    URL url = new URL("http://tcc-teste.aws.af.cm/api/get/aluno/1");
    URLConnection connection = url.openConnection();
    BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    String line = "", json = "";
    while((line = reader.readLine())!=null){
        json+=line;
    }                    
    JsonObject yourObject = new JsonObject(json);
    String matricula = yourObject.get("matricula");
    String nome = yourObject.get("nome");
    System.out.println(nome+" - "+matricula);
} catch (MalformedURLException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
} catch (JSONException e) {
    e.printStackTrace();
}
于 2013-08-28T17:57:56.633 回答
0

我会这样做:

假设您从具有两列(矩阵和名称)的数据库中获取信息,我想您会发送一个数组,因此我将使用此代码构建数组

 $json['test'][]=array( 'matricula'  => $row["matricula"], 'nome' =>$row["nome"])

然后,假设您知道如何获取它,我将像这样解析该信息:

 JSONObject object = new JSONObject(jsonResult);
 JSONArray test = object.getJSONArray("test");
 for(int i = 0; i < test.length(); i++){
     JSONObject c = test.getJSONObject(i);
     String matricula= c.getString("matricula");
     String nome = c.getString("nome");
     //do whatever you want with it
 }
于 2013-08-28T18:04:42.557 回答
0

您可以查看我在JSON使用本机 androidJSONObjectJSONArray对象或使用Gson库解析文件时编写的示例/教程:

解析 JSON 文件

于 2013-08-28T23:54:37.727 回答