【问题标题】:get json object without array name in android 2在android 2中获取没有数组名的json对象
【发布时间】:2013-05-15 16:50:40
【问题描述】:

我有这样的json

array (
  'status' => 'OK',
  'categories' => 
  array (
    'Sepeda' => 
    array (
      83 => 'Sepeda MTB',
      'Fullbike' => 
      array (
        370 => 'MTB',
        371 => 'Roadbike',
        374 => 'Fixie',
        375 => 'Sepeda Lipat',
        378 => 'City Bike',
        380 => 'BMX',
        382 => 'Onthel',
      ),

我想问一下,如何获取“Fullbike”的代码?谢谢你的建议,真的需要帮助,谢谢

【问题讨论】:

  • 那不是 json。那是php。
  • 你的意思是在json_encode之后?您的意思是您想使用位置获得“Fullbike”?或者在不使用“Fullbike”的情况下获取 Json Array ??

标签: android json


【解决方案1】:
try {
     //get Full Bike Json object first
     JSONObject jsonObject = response.getJSONObject("categories").getJSONObject("Sepeda").getJSONObject("Fullbike");
     //Get inner values like this now
      String mtb = jsonObject.getString("370");
      Log.e("Response", mtb);           
} catch (JSONException e) {
      e.printStackTrace(); 
}

【讨论】:

    【解决方案2】:

    查看 PHP 文档以将您的数组转换为 JSON:PHP:json_encode

    或者,可以按原样解析 PHP 数组,但这听起来并不有趣。

    再次查看Android JSON handling docs,了解如何使用 Android 处理 JSON。最好使用JSONObject

    这是一个例子

    字符串 getJsonThingy(字符串 rawJson){ 字符串 strFullBike = ""; 尝试 { JSONObject json = new JSONObject(rawJson); JSONObject jsonCategories = json.getJSONObject("categories"); JSONObject jsonSepeda = jsonCategories.getJSONObject("Sepeda"); strFullBike = jsonSepeda.getString("Fullbike"); } 捕捉(JSONException e){ // TODO 自动生成的 catch 块 e.printStackTrace(); } 返回 strFullBike;

    我想指出,这段代码并不是您希望最终产品的样子 -- 这是一个开始。

    此外,请查看这些相关的 SO 问题,以帮助您更好地了解您应该寻找什么。

    最后说明:对于您的 Android 客户端来说,向服务器询问您的阵列的特定部分可能不是一个坏主意,就像查看您的阵列是如何嵌套的一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-20
      • 2013-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多