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数据代码:

 1 public String buildJson() throws JSONException {
 2
 3         JSONObject persons = new JSONObject();
 4
 5         JSONArray personArr = new JSONArray();
 6
 7         JSONObject person = new JSONObject();
 8         person.put("id", "02");
 9         person.put("name", "tom");
10         person.put("gender", "男");
11
12         JSONArray tel = new JSONArray();
13         tel.put("123456");
14         tel.put("789012");
15
16         person.put("tel", tel);
17
18         personArr.put(person);
19
20         JSONObject person2 = new JSONObject();
21         person2.put("id", "03");
22         person2.put("name", "jerry");
23         person2.put("gender", "男");
24
25         JSONArray tel2 = new JSONArray();
26         tel2.put("899999");
27         tel2.put("666666");
28
29         person2.put("tel", tel2);
30
31         personArr.put(person2);
32
33
34         JSONObject person3 = new JSONObject();
35         person3.put("id", "04");
36         person3.put("name", "jim");
37         person3.put("gender", "男");
38
39         JSONArray tel3 = new JSONArray();
40         tel3.put("7777");
41         tel3.put("5555");
42
43         person3.put("tel", tel3);
44
45         personArr.put(person3);
46
47
48         JSONObject person4 = new JSONObject();
49         person4.put("id", "05");
50         person4.put("name", "lily");
51         person4.put("gender", "女");
52
53         JSONArray tel4 = new JSONArray();
54         tel4.put("222222");
55         tel4.put("111111");
56
57         person4.put("tel", tel4);
58
59         personArr.put(person4);
60
61
62         persons.put("singers", personArr);
63
64
65         return persons.toString();
66     }

解析json数据代码:

 1  private void parseJsonMulti(String strResult) {
 2         try {
 3             JSONArray jsonObjs = new JSONObject(strResult).getJSONArray("singers");
 4             String s = "";
 5
 6             for (int i = 0; i < jsonObjs.length(); i++) {
 7                 JSONObject jsonObj = ((JSONObject) jsonObjs.opt(i));
 8                 int id = jsonObj.getInt("id");
 9                 String name = jsonObj.getString("name");
10                 String gender = jsonObj.getString("gender");
11                 s += "ID号" + id + ", 姓名:" + name + ",性别:" + gender + ",电话:";
12                 JSONArray tel = jsonObj.getJSONArray("tel");
13                 for (int j = 0; j < tel.length(); j++) {
14
15                     s += tel.getString(j)+"/";
16                 }
17
18                 s += "\n";
19
20             }
21             tv.setText(s);
22         } catch (JSONException e) {
23             e.printStackTrace();
24         }
25     }
时间: 2024-10-06 08:22:09

Json生成与解析的相关文章

Android Json生成及解析实例

JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. JSON Vs XML 1.JSON和XML的数据可读性基本相同 2.JSON和XML同样拥有丰富的解析手段 3.JSON相对于XML来讲,数据的体积小 4.JSON与JavaScript的交互更加方便 5.JSON对数据的

Delphi XE10,Json 生成和解析,再利用indyhttp控件Post

Delphi XE10,Json 生成和解析,再利用indyhttp控件Post 2017年09月20日 18:30:23 阅读数:1973 --不多说,直接上代码 procedure TFrmMain.Brand; var JSONObject, jsonparam: TJSONObject; // JSON类 jsonArray: TJSONArray; // JSON数组变量 i: Integer; Flag_Do: Boolean; jsonToSend: TStringStream;

Qt之JSON生成与解析

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.C#.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成. 常用的Json库 JsonCp

【Android开发经验】Json数据格式介绍、使用Android自带类库完成Json生成与解析

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 因为在之前的项目中,xml和json数据格式都有使用过,所以对json格式的简单.高效的特点印象深刻.如果使用json语言进行开发,强烈推荐使用json数据格式! JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成.  JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#,

JSON数据的生成与解析

JSON数据的生成与解析,首先先到网上下载一个json jar包,我用的是org.json 示例代码: package json; import org.json.JSONArray; import org.json.JSONObject; public class Main { /** * 生成Json数据 */ public static String createJson(){ JSONObject json = new JSONObject(); json.put("classId&qu

android下基本json串的生成与解析

以前就用过json串,不过是在java环境下面,如今转移到android环境下,java里面生成解析json串的jar包与android中自带的冲突,所以也只能用安卓自带的. 先前查网上的资料,感觉很多都说的很乱,直接给出了例子,也不解释一下就算完成,他们自己肯定是明白的,但是让读者理解起来肯定有点难度.而且解析的方法很多,而这里,我就介绍一种最原始最简单的吧.希望我拙劣的表达能力不会影响到你们的理解. 首先我们先讲一下json串格式 比如对象pet(宠物) class pet{ int pet

使用JSONObject生成和解析json

使用JSONObject生成和解析json 1. json数据类型 类型 描述 Number 数字型 String 字符串型 Boolean 布尔型 Array 数组 Object 对象 null 空值 (1)json中不区分整数.小数等类型,而统一使用Number来存储数字. (2)Array表示数组,以中括号"[]"括起来,元素之间以逗号分隔,元素可以为任意类型. (3)Object表示对象,类似于C语言中的结构体,以花括号"{}"括起来,其元素要求为键值对,k

通过Json和Gson,快速生成和解析json字符串

1,首先我们要先明白json与gson有什么区别 其实他们是完全不同的概念: json是一种数据格式,便于数据传输,存储,交换. gson则是一种组件库,就是通过Gson我们可以把java中的对象(gson.toJson()),转换成Json字符串,当然反过来也是可以的(gson.fromJson); 2,代码 首先我们需要JSon和Gson这两个jar包 package com.json.dome; import java.util.ArrayList;import java.util.Lis

fastjson生成和解析json数据,序列化和反序列化数据

本文讲解2点: 1. fastjson生成和解析json数据 (举例:4种常用类型:JavaBean,List<JavaBean>,List<String>,List<Map<String,Object>) 2.通过一个android程序测试fastjson的用法. fastjson简介: Fastjson是一个Java语言编写的高性能功能完善的JSON库.fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jack