package com.example.json;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import android.content.res.AssetManager;import android.test.AndroidTestCase;import android.util.Log;public class MyTest extends AndroidTestCase {public void testJson() {String s = "{\"name\":\"Android���\"}";try {JSONObject mJsonObject = new JSONObject(s);String bookName = mJsonObject.getString("name");Log.d("tag", "bookName :" + bookName);} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void testJsonBook() {String s = "{\"book\":{\"id\":100,\"name\":\"Android���\"}}";try {JSONObject mJSONObject = new JSONObject(s);JSONObject JSONObjcet1 = mJSONObject.getJSONObject("book");int bookId = JSONObjcet1.getInt("id");String bookName = JSONObjcet1.getString("name");Log.d("tag", "bookName :" + bookName + ", bookId :" + bookId);} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void testJsonArray() {String s = "[{\"book\":{\"id\":100,\"name\":\"Android���\"}},{\"book\":{\"id\":101,\"name\":\"Java���\"}}]";try {JSONArray mJSONArray = new JSONArray(s);int length = mJSONArray.length();for(int i=0;i<length;i++){JSONObject mJSONObject = mJSONArray.getJSONObject(i); JSONObject jsonBook = mJSONObject.getJSONObject("book");int bookId = jsonBook.getInt("id");String bookName = jsonBook.getString("name");Log.d("testJsonArray", "bookName:"+bookName+",bookId:"+bookId);}} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void testJsonObjectBooks() throws JSONException {AssetManager mAssetManager = getContext().getAssets();InputStream in = null;try {in = mAssetManager.open("json");} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}String s = getStringFromInputStream(in);JSONObject mJSONObject = null;try {mJSONObject = new JSONObject(s);} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}JSONArray mJSONArray = mJSONObject.getJSONArray("books");int length = mJSONArray.length();for(int i=0;i<length;i++){JSONObject mJSONObject1 = mJSONArray.getJSONObject(i);JSONObject jsonBook = mJSONObject1.getJSONObject("book");String bookName = jsonBook.getString("name");int bookId = jsonBook.getInt("id");Log.e("testJsonObjectBooks", "bookName :" + bookName + ", bookId :" + bookId);}}public String getStringFromInputStream(InputStream in){BufferedReader br = new BufferedReader(new InputStreamReader(in));//StringBuilder 线程不安全 通常用在单线程中StringBuilder stringBuilder = new StringBuilder();String line = "";try {while((line = br.readLine()) !=null ){stringBuilder.append(line);}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return stringBuilder.toString();}}

更多相关文章

  1. contentProvider不是线程安全的
  2. Android线程间通信
  3. 阿里、腾讯、百度、网易、美团Android面试经验分享,拿到了百度、
  4. 2020年GitHub标星2.9K的Android基础——高级面试题合集!(金九银十
  5. android杀不死的Service
  6. android开发之widget控件突然停止更新的原因
  7. Android开发规范之编码规范
  8. 2018-6月Android试题整理
  9. Android(安卓)Configuration change引发的问题及解决方法

随机推荐

  1. Viewpager显示前后两页部分界面(含5种dem
  2. unity和Android交互(内容部分为转载)
  3. Android 开机自启和后台自启权限
  4. 【android】查看软件布局神器Hierarchy V
  5. H5调android 的方法修改UI无效
  6. 基于Android的推箱子小游戏 源码
  7. Android中手机文件储存路径
  8. ReactNative AndroidStudio中运行找不到R
  9. android的ndk修改app_platform的方法,亲测
  10. Android Retrofit实现上传头像(仿京东项