遍历json矩阵php android

遍历json矩阵php android,php,android,json,matrix,Php,Android,Json,Matrix,嗨,我这里有一个脚本 返回一个数组数组。我想在Android中解析并存储每个值 我现在的代码是这样的,也许这是有缺陷的?我没什么可看的 public static void refreshFeed(Activity act){ ActionEngine.swamiOn = false; FetchTheCityTask f = new FetchTheCityTask(act); f.execute(); try { if (f.get(

嗨,我这里有一个脚本

返回一个数组数组。我想在Android中解析并存储每个值

我现在的代码是这样的,也许这是有缺陷的?我没什么可看的

public static void refreshFeed(Activity act){

    ActionEngine.swamiOn = false;

    FetchTheCityTask f = new FetchTheCityTask(act);
    f.execute();

    try {

        if (f.get() != null) {

            JSONArray feedArr = new JSONArray();
            feedArr = json.getJSONArray("data");
            ArrayList<UserRecord> items = new ArrayList<UserRecord>();

            for(int i = 0; i < feedArr.length(); i++){

                for(int j = 0; j < feedArr.getJSONArray(i).length(); j++) {

                    JSONObject row = feedArr.getJSONArray(i).getJSONObject(j);
                    String item = row.getString("Item");
                    String descp = row.getString("Description");
                    String pic = row.getString("PicPath");
                    String time = row.getString("Time");
                    String donatedby = row.getString("DonatedBy");
                    String ebase = row.getString("Ebase");
                    String cond = row.getString("Condition");
                    String loc = row.getString("Location");

                    items.add(new UserRecord(item,descp,pic,time,donatedby,
                            ebase,cond,loc));

                }
            }

            TheCityFragment.feedArea.setAdapter(new UserItemAdapter(act,
                    android.R.layout.simple_list_item_1, items));
publicstaticvoidrefreshfeed(活动法){
ActionEngine.swamiOn=false;
FetchTheCityTask f=新的FetchTheCityTask(act);
f、 执行();
试一试{
如果(f.get()!=null){
JSONArray feedArr=新的JSONArray();
feedArr=json.getJSONArray(“数据”);
ArrayList items=新建ArrayList();
对于(int i=0;i
返回一个数组数组

我不这么认为

我从你的文件“对象数组”中看到,所以你的代码不工作

试着做点什么:

JSONArray json = new JSONArray(resultAsString);
// ...

for(int i=0;i<json.length();i++){ 
              //...
               JSONObject row = json.getJSONObject(j);
                String item = row.getString("Item");
                String descp = row.getString("Description");
                String pic = row.getString("PicPath");
                String time = row.getString("Time");
                String donatedby = row.getString("DonatedBy");
                String ebase = row.getString("Ebase");
                String cond = row.getString("Condition");
                String loc = row.getString("Location"); 
          //..         
}
JSONArray json=newjsonarray(resultAsString);
// ...

对于(inti=0;i您的JSON结果,解析日期:显示以下结果:

我建议将json结果更改为:

{"data" : [yourjsonArray]}
因此,您需要将
JSON_数组
封装在
JSON_对象
中,以便使用
getJSONArray(“数据”)
获取数组

JSONObject jObject = new JSONObject(resultstringhere); //f.get() ?
JSONArray jArray = jObject.getJSONArray("data");
希望这有帮助


Reid

hi Maxim,好吧,我得到了一个对象数组,我如何解析每个对象……嗯,我被语法卡住了,我应该迭代json.getJSONArray(“数据”)返回的JSONArray还是JSONObject;参见我的示例,您从字符串中获取
json.getJSONArray
,在循环中运行之后,当我执行此操作时,它给了我一个类型不匹配的问题:JSONArray feedArr=new JSONArray(f.get());f.get()是整个内容的toString尝试第一次
getJSONObject(f.get())
以及从对象获取数组之后。参见我的图片