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. Codeforces Round#432 简要题解

    来自FallDream的博客,未经允许,请勿转载,谢谢. Div2A 小判断题 Div2B 小判断题,合法的条件是|AB|=|BC|且三点不共线 Div1A 类比二维.三维空间,可以猜测n太大的时候没 ...

  2. [bzoj4813][Cqoi2017]小Q的棋盘

    来自FallDream的博客,未经允许,请勿转载,谢谢. 小Q正在设计一种棋类游戏.在小Q设计的游戏中,棋子可以放在棋盘上的格点中.某些格点之间有连线,棋子只能在有连线的格点之间移动.整个棋盘上共有V ...

  3. 在 Mac OS X 上安装 TensorFlow

    在 Mac OS X 上安装 TensorFlow 这个文档说明了如何在 Mac OS X 上安装 TensorFlow. 注意:从 1.2 版本开始,在 Mac OS X 上 TensorFlow ...

  4. A neural chatbot using sequence to sequence model with attentional decoder. This is a fully functional chatbot.

    原项目链接:https://github.com/chiphuyen/stanford-tensorflow-tutorials/tree/master/assignments/chatbot 一个使 ...

  5. java集合之ArrayList源码解读

    源自:jdk1.8.0_121 ArrayList继承自AbstractList,实现了List.RandomAccess.Cloneable.Serializable. ArrayList内部是通过 ...

  6. webstorm 设置uglify 压缩js文件

    第一步:打开npm,全局安装 npm install uglify-js -g 第二步: 打开webstorm的file->settings ->External Tools,点击左上角的 ...

  7. git报错:'fatal:remote origin already exists

    git报错:'fatal:remote origin already exists'怎么处理?附上git常用操作以及说明.   git添加远程库的时候有可能出现如下的错误, 怎么解决? 只要两步: 1 ...

  8. 一个页面从输入url到页面加载显示完成,中间都经历了什么

    第一种解释: 一般会经历以下几个过程: 1.首先,在浏览器地址栏中输入url 2.浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容.若没有,则跳到第三步操作. 3 ...

  9. Oracle中表字段相关操作举例

    --创建测试表 create or replace table student ( xh ), --学号 xm ), --姓名 sex ), --性别 birthday date, --日期 sal ...

  10. 剑指架构师系列-Nginx的安装与使用

    Nginx可以干许多事情,在这里我们主要使用Nginx的反向代理与负载均衡功能. 1.Nginx的下载安装 在安装Nginx前需要安装如下软件: GCC  Nginx是C写的,需要用GCC编译 PCR ...