2015-02-09 69 views
0

你好,我有这样的JSON:阅读2D JSON对象的Android

{"m1":     
    {"phone":"510000", 
    "lon":-75.5898195, 
    "postal":"050022", 
    "address":"cll 19", 
    "company":"my company", 
    "saved":true, 
    "address2":"adress my company", 
    "lat":6.2418782}, 
"m0": 
    {"phone":"85555555", 
    "lon":-75.5898195,' 
    "postal":"45895", 
    "address":"cll 65 d 54", 
    "company":"c1", 
    "saved":false, 
    "address2":"jhvbf", 
    "lat":6.2418782} 
} 

现在,当我在谷歌地图的标记点击,这些信息应该出现在一个抽屉布局传递标记上检索标记ID该函数:

private void openDrawerLayout(final Marker marker){ 
    try { 
     JSONObject inf = markerId.getJSONObject(marker.getId()); 
     //JSONObject inf = (JSONObject) markerId.get(marker.getId()); 
     if(inf.getBoolean("saved")){ 
      String companyJs = inf.getString("company"); 
      String address1Js = inf.getString("address"); 
      String address2Js = inf.getString("address2"); 
      String postalJs = inf.getString("postal"); 
      String phoneJs = inf.getString("phone"); 
      company.setText(companyJs); 
      address1.setText(address1Js); 
      address2.setText(address2Js); 
      postal_code.setText(postalJs); 
      phone.setText(phoneJs); 
     }else{ 
      address1.setText(""); 
      address2.setText(""); 
      postal_code.setText(""); 
      phone.setText(""); 
     } 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

当我使用这个功能markerId.getJSONObject(marker.getId()),被检索永诺第一JSON对象(M1),需要关于如何获取正确的ID标记JSON帮助

回答

0

如果你总是得到m1,那么marker.getId()总是返回m1。确保你传递了正确的标记,并且你的getId函数是正确的。

另请注意,因为在m0上保存的是错误的,所以您不会在视图上真正设置任何文本(您会得到所有空白)。