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. 习题9-3 UVA1629(dp)

    Cake Slicing 题意:有一个n行m列的网格上有一些黑点,要求进行切割,使最后每块上只有一个黑点,求最少的刀数 思路:记忆化搜索,枚举每一条边来切,每一次搜索自己所能切割的所有情况取最小值 但 ...

  2. [BZOJ]1014 火星人prefix(JSOI2008)

    一边听省队dalao讲课一边做题真TM刺激. BZOJ的discuss简直就是题面plus.大样例.SuperHINT.dalao题解的结合体. Description 火星人最近研究了一种操作:求一 ...

  3. TensorFlow Serving-TensorFlow 服务

    TensorFlow服务是一个用于服务机器学习模型的开源软件库.它处理机器学习的推断方面,在培训和管理他们的生命周期后采取模型,通过高性能,引用计数的查找表为客户端提供版本化访问. 可以同时提供多个模 ...

  4. expect IDENTIFIER, actual IDENTIFIER 处理

    涉及到注入数据库的报错,这是很常见的了. 但是期望IDENTIFIER,实际IDENTIFIER 的报错,你们知道是什么意思吗? 我已开始看到的时候,是mybatis报错发神经了,报错了报错.再跑一次 ...

  5. jenkins + pipeline构建自动化部署

    一.引言 Jenkins 2.x的精髓是Pipeline as Code,那为什么要用Pipeline呢?jenkins1.0也能实现自动化构建,但Pipeline能够将以前project中的配置信息 ...

  6. Http多线程版本

    上一篇文章讲了HTTP是如何通过TCP协议传输到服务器上,以及服务器接收到的报文信息请参考[HTTP与TCP的关系] 这篇文章主要讲述的多线程处理Http请求,关于多线程的好处我就不再叙述了.由于我们 ...

  7. 蚂蚁代理免费代理ip爬取(端口图片显示+token检查)

    分析 蚂蚁代理的列表页大致是这样的: 端口字段使用了图片显示,并且在图片上还有各种干扰线,保存一个图片到本地用画图打开观察一下: 仔细观察蓝色的线其实是在黑色的数字下面的,其它的干扰线也是,所以这幅图 ...

  8. 记录一些移动端H5,小程序视觉还原问题及方法

    前端,特别是移动端如果对视觉还原要求比较高的时候.功能测试和性能测试完成之后.UI真的是一个像素一个像素的给你抠出来哪里还原不到位 之前项目要求还原度要达到98%以上.所以每到视觉还原的时候真的是挺痛 ...

  9. Gleb And Pizza CodeForces - 842B

    CodeForces - 842B #include<bits/stdc++.h> using namespace std; int main() { int r,d,t; double ...

  10. MySQL UPDATE 查询

    MySQL UPDATE 查询 如果我们需要修改或更新MySQL中的数据,我们可以使用 SQL UPDATE 命令来操作.. 语法 以下是 UPDATE 命令修改 MySQL 数据表数据的通用SQL语 ...