1. Android程序解析json数据可以通过gson的方式,这种情况需要导入相应的jar包。测试代码如下:

@Override

protected
void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

if (savedInstanceState ==
null) {

getSupportFragmentManager().beginTransaction()

.add(R.id.container,
new PlaceholderFragment()).commit();

}

//第一种方式:

String jsonString = "{\"id\":\"1378230362\",\"name\":\"360U1378230362\"}";

System.out.println(jsonString);

jsonString = "[" + jsonString +
"]";

try {

JsonReader reader = new JsonReader(new
StringReader(jsonString));

reader.beginArray();

while (reader.hasNext()) {

reader.beginObject();

while (reader.hasNext()) {

String tagName = reader.nextName();

if (tagName.equals("id"))
{

Toast.makeText(this,
"id:" + reader.nextString(), 1000).show();

System.out.println(reader.nextString());

} else
if (tagName.equals("name"))
{

Toast.makeText(this,
"name:" + reader.nextString(), 1000).show();

//System.out.println(reader.nextString());

}

}

reader.endObject();

}

reader.endArray();

} catch (Exception e) {

e.printStackTrace();

}

}

2
通过Android中的JSONObject的方式解析JSON数据

package com.example.jsontest2;

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.widget.Toast;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

String jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}";

String value1 = null;

try {

// 将字符串转换成jsonObject对象

JSONObject myJsonObject = new JSONObject(jsonMessage);

// 获取对应的值

value1 = myJsonObject.getString("数学");

Toast.makeText(this, "value1:" + value1, 3000).show();

} catch (JSONException e) {}

System.out.println("value1=" + value1);

// JSONArray

jsonMessage = "[{'num':'成绩', '外语':88, '历史':65,
'地理':99, 'object':{'aaa':'1111','bbb':'2222','cccc':'3333'}},"

+ "{'num':'兴趣', '外语':28, '历史':45,
'地理':19, 'object':{'aaa':'11a11','bbb':'2222','cccc':'3333'}},"

+ "{'num':'爱好', '外语':48, '历史':62,
'地理':39, 'object':{'aaa':'11c11','bbb':'2222','cccc':'3333'}}]";

JSONArray myJsonArray;

try {

myJsonArray = new JSONArray(jsonMessage);

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

// 获取每一个JsonObject对象

JSONObject myjObject = myJsonArray.getJSONObject(i);

// 获取每一个对象中的值

String numString = myjObject.getString("num");

int englishScore = myjObject.getInt("外语");

int historyScore = myjObject.getInt("历史");

int geographyScore = myjObject.getInt("地理");

// 获取数组中对象的对象

JSONObject myjObject2 = myjObject.getJSONObject("object");

String aaaString = myjObject2.getString("aaa");

System.out.println("aaaString=" + aaaString);

System.out.println("numString=" + numString);

System.out.println("englishScore=" + englishScore);

System.out.println("historyScore=" + historyScore);

System.out.println("geographyScore=" + geographyScore);

}

} catch (JSONException e) {

}

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

}

1.Android中解析json程序代码的更多相关文章

  1. Android中解析JSON形式的数据

    1.JSON(JavaScript Object Notation) 定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式, ...

  2. android 中解析json格式数据

    本文来自http://tonysun3544.iteye.com/category/188238 package com.tony.json; import android.app.Activity; ...

  3. Android 中解析 JSON

    有什么不懂的可以去官网去看看:www.json.org 在google android中也有关于解析JSON的类库:JsonReader,但是只能在3.0以后的版本中才可以用,在这里我们用google ...

  4. Android中解析JSON格式数据常见方法合集

    待解析的JSON格式的文件如下: [{"id":"5", "version":"1.0", "name&quo ...

  5. Android中解析Json数据

    在开发中常常会遇到解析json的问题 在这里总结几种解析的方式: 方式一: json数据: private String jsonData = "[{\"name\":\ ...

  6. [入门阅读]怎样在android中解析JSON

    JSON入门介绍:http://kirin.javaeye.com/blog/616226 也参考了此篇:http://blog.163.com/fushaolin@126/blog/static/1 ...

  7. 实现android上解析Json格式数据功能

    实现android上解析Json格式数据功能,该源码转载于安卓教程网的,http://android.662p.com ,个人感觉还不错的,大家可以看看一下吧. package com.practic ...

  8. Android中获取应用程序(包)的大小-----PackageManager的使用(二)

    通过第一部分<<Android中获取应用程序(包)的信息-----PackageManager的使用(一)>>的介绍,对PackageManager以及 AndroidMani ...

  9. android中解析文件的三种方式

    android中解析文件的三种方式     好久没有动手写点东西了,最近在研究android的相关技术,现在就android中解析文件的三种方式做以下总结.其主要有:SAX(Simple API fo ...

随机推荐

  1. [BZOJ]1023 cactus仙人掌图(SHOI2008)

    NOIP后的第一次更新嗯. Description 如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人掌图(cactus).所谓简单回路就是指在 ...

  2. 动态规划--Kin

    动态规划: 1.最大子序列和 2.LIS最长递增子序列 3.LCS最长公共子序列 4.矩阵连乘 5.数字金字塔 1.最大子序列和 #include<iostream> using name ...

  3. BlockingQueue阻塞队列(解决多线程中数据安全问题 可用于抢票,秒杀)

    案例:一个线程类中 private static BlockingQueue<Map<String, String>> dataQueue = new LinkedBlocki ...

  4. (转载)JVM知识小集

    1. 内存模型以及分区,需要详细到每个区放什么. 2. 堆里面的分区:Eden,survival from to,老年代,各自的特点. 3. 对象创建方法,对象的内存分配,对象的访问定位. 4. GC ...

  5. webpack4.1.1的使用详细教程

    安装全局webpack cnpm install -g webpack 安装全局webpack-cli npm install -g webpack-cli 初始化:生成package.json文件 ...

  6. YAML 在Python中的配置应用

    环境搭建 YAML语法 语法规则 数据结构 列表数组 原子量 YAML应用 案例 load dump 总结 YAML是一个堪比XML,JSON数据格式的更加方便,简洁的,易于人眼阅读的序列化数据格式. ...

  7. Linux 下的一个全新的性能测量和调式诊断工具 Systemtap, 第 2 部分: DTrace

    DTrace的原理本系列文章详细地介绍了一个 Linux 下的全新的调式.诊断和性能测量工具 Systemtap 和它所依赖的基础 kprobe 以及促使开发该工具的先驱 DTrace 并给出实际使用 ...

  8. ubuntu垃圾清理命令

    ubuntu的空间莫名不够用了 通过系统自带的工具磁盘使用分析器,发现var文件下面的log100多个g,这个日志文件是可以删除的,然后tmp文件也是可以删除的. 1.sudo rm -rf /tmp ...

  9. React Native自定义导航条

    Navigator和NavigatorIOS 在开发中,需要实现多个界面的切换,这时候就需要一个导航控制器来进行各种效果的切换.在React Native中RN为我们提供了两个组件:Navigator ...

  10. linux中 probe函数的何时调用的?

    点击打开链接 linux中 probe函数何时调用的 所以的驱动教程上都说:只有设备和驱动的名字匹配,BUS就会调用驱动的probe函数,但是有时我们要看看probe函数里面到底做了什么,还有传递给p ...