首页 > 其他分享 >Android实战--解析稍复杂JSON数据DEMO

Android实战--解析稍复杂JSON数据DEMO

时间:2022-11-11 13:02:09浏览次数:85  
标签:map java Map -- DEMO JSON import android id


废话不多说,直接上代码,布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
android:id="@+id/mytext"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

</LinearLayout>

 

.java:

package org.lxh.demo;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class Hello extends Activity {
private TextView textView;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); // 生命周期方法
super.setContentView(R.layout.main); // 设置要使用的布局管理器
this.textView = (TextView) findViewById(R.id.mytext);
String str = "{\"memberdata\":[{\"id\":1,\"name\":\"yayun\",\"age\":25},"
+ "{\"id\":2,\"name\":\"qiangge\",\"age\":26}],\"company\":\"NJUPT\"}";
StringBuffer buffer = new StringBuffer();
Map<String, Object> resultMap = this.parseJson(str);
buffer.append("单位名称:" + resultMap.get("company") + "\n");
@SuppressWarnings("unchecked")
List<Map<String, Object>> all = (List<Map<String, Object>>) resultMap
.get("memberdata");// 强制转换
Iterator<Map<String, Object>> iter = all.iterator();
while (iter.hasNext()) {
Map<String, Object> map = iter.next();
buffer.append("ID:" + map.get("id") + "姓名:" + map.get("name")
+ "\n");

}
this.textView.setText(buffer);

}

private Map<String, Object> parseJson(String data) {
Map<String, Object> allMap = new HashMap<String, Object>();
try {
JSONObject allDataJsonObject = new JSONObject(data);
allMap.put("company", allDataJsonObject.getString("company"));
JSONArray array = allDataJsonObject.getJSONArray("memberdata");
List<Map<String, Object>> all = new ArrayList<Map<String, Object>>();
for (int i = 0; i < array.length(); i++) {
Map<String, Object> map = new HashMap<String, Object>();
JSONObject jsonObject = array.getJSONObject(i);
map.put("id", jsonObject.getInt("id"));
map.put("name", jsonObject.getString("name"));
map.put("age", jsonObject.getInt("age"));
all.add(map);
}
allMap.put("memberdata", all);// 将List<Map<String,
// Object>>装入Map<String, Object>
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return allMap;
}
}

运行实例效果如下:

 

Android实战--解析稍复杂JSON数据DEMO_Android

 

我的应用:                      ​​http://openbox.mobilem.360.cn/index/d/sid/2966005​

                                       ​​http://android.myapp.com/myapp/detail.htm?apkName=com.yayun.gitlearning​

喜欢的朋友可以关注我,多交流,谢谢。

标签:map,java,Map,--,DEMO,JSON,import,android,id
From: https://blog.51cto.com/u_15866446/5844737

相关文章

  • Android实战--语音合成TTS
    接着上一节讨论的问题,本DEMO中会用到TTS语音合成,我们下面介绍一个同样原理的小例子看一下布局文件很简单: <?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:and......
  • Android实战--小DEMO(JAVA关键字学习)一
    学习技术最好的方式就是实战,看书看不到的东西太多了,实际操作时会碰到各种书本里提不到的问题,解决这些问题会迅速提升你的能力,你是一个solider,最好成长的方式就是实战。下面......
  • 最短路板子
    floyedO(n^3) f[i][j]=min(f[i][j],f[i][k]+f[k][j]) memset(f,inf,sizeof(f));for(i=1;i<=m;i++)cin>>x>>y>>z,f[x][y]=f[y][x]=z;for......
  • P8817 假期计划 Sol
    看到数据范围,很容易想到平方。由于是双向边,所以很容易想到其实四个点可以被拆成两部分,两部分本质一样,可以一起处理。考虑枚举中转点\(x,y\),可以想到预处理与\(x\)距离......
  • Android错误之HAX is not installed on the machine(MAC OS)
    为了更好的工作和学习,最近新入手一台MacBookpro。在装Androidstudio时遇到如下问题:解决办法如下:点击:https://software.intel.com/en-us/android/articles/intel-hardware......
  • 一道zhangying机试题
    功能很好实现,但是用到的设计模式没有搞清楚,有一句话没太懂:每个调节项目调节时触发的动作会修改,不知道是什么含义,有明白的童鞋指导一下,选用何种设计模式。下面看一下功能代码......
  • 学生之家-6道练习题
    让用户输入一个数判断其是奇数还是偶数并把结果输出输入一个溶液的ph值试判断该溶液是酸性还是碱性或是中性溶液并把结果输出(常温25℃条件下)给定一个年份判断是否是......
  • Android错误之setAdapter(adapter)空指针nullPointer 解决办法
    在设置adapter时,会经常遇到如下错误:空指针错误如果setAdapter报空指针,那么可用如下语句调试,找出到底哪里产生空指针hisList=(ListView)findViewById(R.id.oillist);......
  • Android错误之--activity_main cannot be resolved or is not a field
    一般在copy别人的项目中会容易出现本错误,截图如下:出现本错误的一般有两种情况第一种情况:导包错误--检查import,找到这个:删除之,再重新导入含有包名的R文件。第二种情况:本情况......
  • PowerApps Default Environment: Important things
    Whatisthedefaultenvironment?Adefaultenvironmentisaparticulartypeofproductionenvironment.Eachtenanthasadefaultenvironmentthat’screatedau......