您的位置:首页 > Web前端 > JavaScript

Json解析的简单介绍

2016-07-25 08:52 399 查看
Json解析的简单介绍

JSON是一款轻量级的数据交换格式

解析JSON需要两个类:
JSONObject : 描述一个JSON对象  {}
JSONArray : 描述一个JSON数组  []

下面是Json解析的一个简单的小例子,通过这个例子应该能使像我一样的一些新手可以简单的理解一下Json,并且

         可以简单的使用Json:

例如访问ApiStore找到一个易源笑话的接口,会返回给Json格式的字符串,下面是我截取的一部分:

JSON返回示例 :
{
"showapi_res_code": 0,
"showapi_res_error": "",
"showapi_res_body": {
"allNum": 2980,
"allPages": 149,
"contentlist": [
{
"ct": "2015-08-13 13:10:26.149",
"text": "新人发帖求过…… 媳妇最近怀孕了…天天这也不想吃那也不想吃…有一天发脾气要我给他做
想吃的,结果做了好多还是没有想吃的…最后着急了大喊:再做不出我想吃的我就去大街上要
饭……我想说:你吃什么自己都不知道我怎么做啊…唉…想想男人女人都不容易啊…",
"title": "媳妇儿有了…",
"type": 1
},
{
"ct": "2015-08-13 13:10:26.149",
"text": "为了让自己多活动,我把放在电脑桌上的零食拿到了外面的茶几上,这样最起码为了吃我也
能走动走动。…………现在我的零食经常会过期……",
"title": "计划失败,吃货兼网虫的悲哀",
"type": 1
},
······

使用Json去解析这段代码的一小段基础代码:

String httpUrl = "http://apis.baidu.com/showapi_open_bus/showapi_joke/joke_text";
String httpArg = "page=1";
String jsonResult = request(httpUrl, httpArg);
System.out.println(jsonResult);
JSONObject object = new JSONObject(jsonResult);
JSONObject objj = object.getJSONObject("showapi_res_body");
JSONArray ary = objj.getJSONArray("contentlist");
for (int i = 0; i < ary.length(); i++) {
JSONObject obj2 = ary.getJSONObject(i);
Joke joke = new Joke();
joke.setTitle(obj2.getString("title"));
joke.setText(obj2.getString("text"));
joke.setCt(obj2.getString("ct"));
jokes.add(joke);

解析完成之后,可以通过输入输出流让它显示到界面上:

BufferedReader reader = null;
  String result = null;
  StringBuffer sbf = new StringBuffer();
    httpUrl = httpUrl + "?" + httpArg;

   try {
        URL url = new URL(httpUrl);
        HttpURLConnection connection = (HttpURLConnection) url
                .openConnection();
      connection.setRequestMethod("GET");
       // 填入apikey到HTTP header
        connection.setRequestProperty("apikey",  "自己的apikey");
        connection.connect();
        InputStream is = connection.getInputStream();
        reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
        String strRead = null;
        while ((strRead = reader.readLine()) != null) {
            sbf.append(strRead);
            sbf.append("\r\n");
      }
      reader.close();
        result = sbf.toString();
    } catch (Exception e) {
      e.printStackTrace();
    }
    return result; 

这个解析的具体代码:http://pan.baidu.com/disk/home#list/path=%2FAndroid
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android json