Json 生成与解析详解及实例代码

Json 生成与解析

JSON常用与服务器进行数据交互,JSON中“{}”表示JSONObject,“[]”表示JSONArray

如下json数据:

1 {"singers":[
2 {"id":"02","name":"tom","gender":"男","tel":["123456","789012"]},
3 {"id":"03","name":"jerry","gender":"男","tel":["899999","666666"]},
4 {"id":"04","name":"jim","gender":"男","tel":["7777","5555"]},{"id":"05","name":"lily","gender":"女","tel":["222222","111111"]}
5 ]}

生成json数据代码:

public String buildJson() throws JSONException {

    JSONObject persons = new JSONObject();

    JSONArray personArr = new JSONArray();

    JSONObject person = new JSONObject();
    person.put("id", "02");
    person.put("name", "tom");
    person.put("gender", "男");

    JSONArray tel = new JSONArray();
    tel.put("123456");
    tel.put("789012");

    person.put("tel", tel);

    personArr.put(person);

    JSONObject person2 = new JSONObject();
    person2.put("id", "03");
    person2.put("name", "jerry");
    person2.put("gender", "男");

    JSONArray tel2 = new JSONArray();
    tel2.put("899999");
    tel2.put("666666");

    person2.put("tel", tel2);

    personArr.put(person2);

    JSONObject person3 = new JSONObject();
    person3.put("id", "04");
    person3.put("name", "jim");
    person3.put("gender", "男");

    JSONArray tel3 = new JSONArray();
    tel3.put("7777");
    tel3.put("5555");

    person3.put("tel", tel3);

    personArr.put(person3);

    JSONObject person4 = new JSONObject();
    person4.put("id", "05");
    person4.put("name", "lily");
    person4.put("gender", "女");

    JSONArray tel4 = new JSONArray();
    tel4.put("222222");
    tel4.put("111111");

    person4.put("tel", tel4);

    personArr.put(person4);

    persons.put("singers", personArr);

    return persons.toString();
  }

解析json数据代码:

private void parseJsonMulti(String strResult) {
    try {
      JSONArray jsonObjs = new JSONObject(strResult).getJSONArray("singers");
      String s = "";

      for (int i = 0; i < jsonObjs.length(); i++) {
        JSONObject jsonObj = ((JSONObject) jsonObjs.opt(i));
        int id = jsonObj.getInt("id");
        String name = jsonObj.getString("name");
        String gender = jsonObj.getString("gender");
        s += "ID号" + id + ", 姓名:" + name + ",性别:" + gender + ",电话:";
        JSONArray tel = jsonObj.getJSONArray("tel");
        for (int j = 0; j < tel.length(); j++) {

          s += tel.getString(j)+"/";
        }

        s += "\n";

      }
      tv.setText(s);
    } catch (JSONException e) {
      e.printStackTrace();
    }
  }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • 前后台交互过程中json格式如何解析以及如何生成

    前台: 复制代码 代码如下: $.ajax({ type: "POST", url: "GetMenuRole.ashx", data: "", dataType: "json", success: function (data) { if (data.Status == false) { alert(data.ErrorReason); } else { //解析这个菜单列表 alert(data.MenuList); }

  • jQuery+json实现动态创建复杂表格table的方法

    本文实例讲述了jQuery+json实现动态创建复杂表格table的方法.分享给大家供大家参考,具体如下: function SetSubTable() { var obj = jQuery.parseJSON($("#SubJsonStrValue").val()); window.ALLPARAMTERS = obj; var row_str = ""; var span_num = 1 for (var i = 0; i < obj.length; i+

  • 10分钟掌握XML、JSON及其解析

    引言 NOKIA 有句著名的广告语:"科技以人为本".任何技术都是为了满足人的生产生活需要而产生的.具体到小小的一个手机,里面蕴含的技术也是浩如烟海,是几千年来人类科技的结晶,单个人穷其一生也未必能掌握其一角.不过个人一直认为基本的技术和思想是放之四海而皆准的,许多技术未必需要我们从头到尾再研究一遍,我们要做的就是站在巨人的肩膀上,利用其成果来为人们的需求服务. 随着移动互联网时代的大潮,越来越多的App不光是需要和网络服务器进行数据传输和交互,也需要和其他 App 进行数据传递.承担

  • python中json格式数据输出的简单实现方法

    主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info["code"]=1 info["id"]=1900 info["name"]='张三' info["sex"]='男' list=[info,info,info] data={} data["code"]=1 data["id"]=190

  • python 把数据 json格式输出的实例代码

    有个要求需要在python的标准输出时候显示json格式数据,如果缩进显示查看数据效果会很好,这里使用json的包会有很多操作 import json date = {u'versions': [{u'status': u'CURRENT', u'id': u'v2.3', u'links': [{u'href': u'http://controller:9292/v2/', u'rel': u'self'}]}, {u'status': u'SUPPORTED', u'id': u'v2.2'

  • 将json转换成struts参数的方法

    加入对象为{name:'tom','class':{className:'class1'},classMates:[{name:'lily'}]} struts2期待的格式是 name=tom&class.className=class1&classMates[0].name=lily function parseParam(param, key) { var paramStr = ""; if (param instanceof String || param ins

  • ASPNET中JSON的序列化和反序列化的方法

    一.JSON简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式. JSON是"名值对"的集合.结构由大括号'{}',中括号'[]',逗号',',冒号':',双引号'""'组成,包含的数据类型有Object,Number,Boolean,String,Array, NULL等. JSON具有以下的形式: 对象(Object)是一个无序的"名值对"集合,一个对象以"

  • JSON与XML的区别对比及案例应用

    1.定义介绍 (1).XML定义 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准. XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输.XML 提供统一的方法来描述和交换独立于应用

  • 浅谈使用java解析和生成JSON

    JSON概述 JSON即javascript object notation,是javascript对象表示法的子集.具有以下特点: 数据放在键值对中: 数据由逗号分隔: 花括号表示对象: 方括号表示数组. JSON的值可以是: 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true或false) 数组(方括号内) 对象(花括号内) null JSON的基本语法 JSON对象 JSON对象在花括号中书写,对象可以包含多个键值对,例如: { "firstName":"Jo

  • Android系列---JSON数据解析的实例

    上篇随笔详细介绍了三种解析服务器端传过来的xml数据格式,而对于服务器端来说,返回给客户端的数据格式一般分为html.xml和json这三种格式,那么本篇随笔将讲解一下json这个知识点,包括如何通过json-lib和gson这两个json解析库来对解析我们的json数据,以及如何在我们的Android客户端解析来自服务器端的json数据,并更新到UI当中. 一.什么是json json(Javascript Object Notation)是一种轻量级的数据交换格式,相比于xml这种数据交换格

  • 在Action中以Struts2的方式输出JSON数据的实例

    下面是整个Action的完整代码: package cn.ysh.studio.struts2.json.demo.action; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.Servlet

  • Ajax遍历jSon后对每一条数据进行相应的修改和删除(代码分享)

    废话不多说了,直接给大家贴代码了,具体代码如下所示: $.ajax({ url: "/business/findpersons.json", dataType: "json", type:"GET", success: function(doc) { var objs=eval(doc); for (var i = 0; i < objs.length; i++){ var personid=objs[i].personId; var na

随机推荐