package com.practice.json;

 import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject; import android.app.Activity;
import android.os.Bundle;
import android.util.Log; public class JsonDemo extends Activity {
/*
* 解析JSON的例子,str保存的是JSON代码,解析后的数据在LogCat里输出
*/ String TAG = "Json message"; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
detectJSON();
} private void detectJSON() {
String str = "{"+ "\"日期\" : \"2011-06-06\","+ //Like 是 JSONObject
"\"Like\" : {"+
"\"Name\" : \"加内特\","+
"\"Height\" : \"2.11cm\","+
"\"Age\" : 35"+
"},"+ //LikeList 就是一个 JSONObject
"\"LikeList\":" +
"{\"List\": " +
"["+
//这里也是JSONObject
"{"+
"\"Name\" : \"Rose\","+
"\"Height\" : \"190cm\","+
"\"Age\" : 23"+
"},"+
//这里也是JSONObject
"{"+
"\"Name\" : \"科比\","+
"\"Height\" : \"198cm\","+
"\"Age\" : 33"+
"}"+
"]"+
"}"+
"}"; try {
JSONObject dataJson = new JSONObject(str);
Log.d(TAG, dataJson.getString("日期")); JSONObject nbaJson = dataJson.getJSONObject("Like"); Log.d(TAG, nbaJson.getString("Name"));
Log.d(TAG, nbaJson.getString("Height"));
Log.d(TAG, nbaJson.get("Age").toString()); JSONObject listJson = dataJson.getJSONObject("LikeList");
JSONArray arrayJson = listJson.getJSONArray("List"); for(int i=0;i<arrayJson.length();i++) { JSONObject tempJson = arrayJson.optJSONObject(i); Log.d(TAG, tempJson.getString("Name"));
Log.d(TAG, tempJson.getString("Height"));
Log.d(TAG, tempJson.getString("Age").toString());
} } catch (JSONException e) {
System.out.println("Something wrong...");
e.printStackTrace();
}
}
}

测试代码通过

Add following code to AndroidManifest.
<instrumentation android:name="android.test.InstrumentationTestRunner"
          android:targetPackage="your.package"
          android:label="your tests label" />
<uses-library android:name="android.test.runner" />

- Right click project on Project Explorer Panel on Eclipse, then click "Run" > "Run Configurations...", then select "android.test.InstrumentationTestRunner" in Instrumentation TestRunner.

does not declare uses-library android.test.runner

在平时Android开发时突然执行程序,出现了 Application does not specify a
android.test.InstrumentationTestRunner instrumentation or does not declare
uses-library android.test.runner的错误提示,这主要是你再Run As中错误的选择了目标为Android JUnit
Test这项导致的,解决的方法也很简单在Run Dialog中删除JUnit Test这条即可。

Android上解析Json格式数据的更多相关文章

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

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

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

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

  3. android 中解析json格式数据

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

  4. 解析json格式数据

    实现目标 读取文件中的json格式数据,一行为一条json格式数据.进行解析封装成实体类. 通过google的Gson对象解析json格式数据 我现在解析的json格式数据为: {",&qu ...

  5. Android中解析XML格式数据的方法

    XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...

  6. 用GSON解析Json格式数据

    GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...

  7. $Java-json系列(一):用GSON解析Json格式数据

    GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...

  8. ObjectMapper用于将java对象转换为json格式数据以及JSONObject对象解析json格式数据

    ObjectMapper objectMapper = new ObjectMapper(); //反序列化的时候如果多了其他属性,不抛出异常 objectMapper.configure(Deser ...

  9. Android 解析JSON格式数据

    比起XML,JSON主要优势在于它的体积更小,在网络上传输的时候可以更省流量.但缺点在于,它的语义性较差,显示不如XML直观. JSON格式 :  { "name_A" : &qu ...

随机推荐

  1. Linux--struct file结构体

    struct file(file结构体): struct file结构体定义在include/linux/fs.h中定义.文件结构体代表一个打开的文件,系统中的每个打开的文件在内核空间都有一个关联的  ...

  2. 关于Java中Arrays.sort()方法TLE

    最近一直在练用Java写题,今天无意发现一道很简单的二分题(链接),我一开始是直接开int[]数组调用Arrays.sort()去排序,没想到TLE了,原来是因为jdk中对于int[]的排序是使用快速 ...

  3. POJ 3261 出现至少K次的可重叠最长子串

    题意就是给一列数字,求最长的一个子串,并且满足子串在原数串中出现至少K次,子串可以重叠. 解法是将问题转为判定性问题,二分子串的长度,判定是否满足重复至少K次.判定方法是经典的根据子串长度将Heigh ...

  4. python基本数据类型——int

    一.int的范围 python2: 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1: 在64位系统上,整数的位数为64位,取值范围为-2**63-2**63-1: pyth ...

  5. VueJS 组件参数名命名方式和前台显示

    camelCase(驼峰式) 和. kebab-case(短横线式) HTML 特性是不区分大小写的.所以,当使用的不是字符串模版,camelCased (驼峰式) 命名的 prop 需要转换为相对应 ...

  6. Android系统--输入系统(十)Reader线程_核心类及配置文件深入分析

    Android系统--输入系统(十)Reader线程_核心类及配置文件深入分析 0. 前言 个人认为该知识点阅读Android源代码会不仅容易走进死胡同,并且效果并不好,前脚看完后脚忘记,故进行总结, ...

  7. VMWare下ubuntu无法全屏的问题解决

    遇到的情况: 在VMWare中,安装ubuntu 最新版操作系统(16.04).运行该系统,发现ubuntu系统在虚拟机中,只能居中显示,全屏也只能占一半显示屏幕.怎么看,怎么不舒服. 分析问题: 一 ...

  8. oracle修改有数据的字段属性

    正常情况下,有数据时不能直接修改属性,我们可以先备份,然后清空现有数据,然后再修改和还原,过程如下: //先缓存表CREATE TABLE T_TABLE1 AS SELECT * FROM tabl ...

  9. poj3160强连通分量加dfs

    After retirement as contestant from WHU ACM Team, flymouse volunteered to do the odds and ends such ...

  10. Docker - 访问仓库

    仓库与注册服务器 仓库(Repository)集中存放镜像的项目或目录. 注册服务器(Registry)管理仓库的服务器,服务器上可以有多个仓库,每个仓库有多个镜像. 例如:在仓库地址docker.i ...