在android 2中获取没有数组名称的json对象

时间:2013-05-21 02:26:20

标签: android 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”的代码?感谢您的建议,真的需要帮助,谢谢

2 个答案:

答案 0 :(得分:0)

签出PHP文档以将您的数组转换为JSON:PHP:json_encode

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

第二次检查Android JSON handling docs,了解如何使用Android处理JSON。最好用JSONObject

完成

这是一个例子

String getJsonThingy(String rawJson) {
String strFullBike = "";
        try {
            JSONObject json = new JSONObject(rawJson);
            JSONObject jsonCategories = json.getJSONObject("categories");
            JSONObject jsonSepeda = jsonCategories.getJSONObject("Sepeda");
            strFullBike = jsonSepeda.getString("Fullbike");
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return strFullBike;

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

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

最后注意事项:您的Android客户端向您的服务器询问阵列的特定部分可能并不是一个坏主意,因为您可以查看阵列的嵌套方式。

答案 1 :(得分:0)

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