在Android中操作Json数据

在极客学院看了相关视频,觉得还是值得记录一下。

虽然知道大家既然能看到这篇文章,那就至少知道什么是Json了,不过为了文章的完整性,这里还是简单介绍一下Json,大都百度的,可忽略。

Json:JavaScript对象表示法(JavaScript Object Notation)。

Json 是存储和交换文本信息的语法。类似 XML。

Json 比 XML 更小、更快、更易解析。

Json 的数据书写格式为  名称:值。

如:

{ "firstName":"John" , "lastName":"Doe" }

数组形式:

{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}

简明易懂。

为了android中操作Json数据,我们先准备一个简单的数据,命名为 test.json,并放在新建工程的 assets文件夹下面。 

test.json文件里面的json数据就为上面数组。

我们的目的是把 test.json文件里的json数据读出并通过System.out打印到logcat中。

MainActivity.java文件:

package com.android.testjson;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		try {
			
			InputStreamReader isr = new InputStreamReader(getAssets().open("test.json"), "UTF-8");
			BufferedReader br = new BufferedReader(isr);
			String line;
			StringBuilder builder = new StringBuilder();
			while((line = br.readLine()) != null){
				builder.append(line);
			}
			br.close();
			isr.close();
			JSONObject root = new JSONObject(builder.toString());
			JSONArray array = root.getJSONArray("employees");
			for(int i=0;i<array.length();i++){
				JSONObject lan = array.getJSONObject(i);
				System.out.println("-----------------------");
				System.out.println("firstName="+lan.getString("firstName"));
				System.out.println("lastName="+lan.getString("lastName"));
			}
			
		} catch (UnsupportedEncodingException e) {	
			e.printStackTrace();		
		} catch (IOException e) {
			e.printStackTrace();
		} catch (JSONException e) {
			e.printStackTrace();
		}
	}

}

很简单的几句代码,就把json数据成功读取出来了。

    

个人觉得作为作为一个例子,就相当于一个模板,以后如果用到,放上面一套就好了,节省了时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值