当前位置:文档之家› JSON两种结构之对象和数组的理解

JSON两种结构之对象和数组的理解

JSON两种结构之对象和数组的理解
JSON两种结构之对象和数组的理解

这篇文章主要介绍了JSON两种结构之对象和数组的理解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

JSON简介

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript 的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

Json是一种异常简单易懂的数据格式,关于json的规定,仅仅如下而已:

1)并列的数据之间用逗号(", ")分隔。

2)映射用冒号(": ")表示。

3)并列数据的集合(数组)用方括号("[]")表示。

4)映射的集合(对象)用大括号("{}")表示。

JSON有两种结构数组和对象:数组表示有序数据的集合,而对象表示无序数据的集合。

看下面例子:

$arr = array(111,'aaa','bbb');

$arr1 = array(

'a' => 'aaa',

'b' => 222

);

$arr2 = array(

'a' => 'aaa',

'other' => array(

'bbb',1111

)

);

echo json_encode($arr); //[111,"aaa","bbb"]

echo json_encode($arr1); //{"a":"aaa","b":222}

echo json_encode($arr2); //{"a":"aaa","other":["bbb",1111]}

从上看出:由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。

关于PHP对json支持说明:

json_encode只支持UTF-8编码的数据;

json_decode永远只反映一个PHP对象,带上第二个参数true可返回数组:

$json = '{"a":"aaa","other":["bbb",1111]}';

print_r(json_decode($json));

print_r(json_decode($json, true));

以上所述是小编给大家介绍的JSON两种结构之对象和数组的理解,希望对大家有所帮助

后台转换JSON数据类型,前台解析JSON数据等等例子总结

后台转换JSON数据类型,前台解析JSON数据等等例子总结 JSON对象: JSONObject obj = new JSONObject(); obj.put("result", 0); obj.put("message", message); return obj.toJSONString(); 前台解析: Success:function(data){ var result = data.result; var message = data.message; } json对象中有json对象的写法: Objstr为一个JSONObject obj的String转换 private String getsuccess(String objstr,int number){ JSONObject obj = new JSONObject(); obj.put("result", 1); obj.put("obj", objstr); obj.put("number", number); return obj.toJSONString(); }

前台解析: Picjson为success返回的data var result = picjson.result; if (result==1) { var objdata = picjson.obj; var data = eval('(' + objdata + ')'); var num = picjson.number; picurl = null; showpiclist(data, num); } else{ alert(picjson.message); picurl = null; } list转成json对象 需要的包: https://www.doczj.com/doc/7310974402.html,mons-lang.jar https://www.doczj.com/doc/7310974402.html,mons-beanutils.jar https://www.doczj.com/doc/7310974402.html,mons-collections.jar https://www.doczj.com/doc/7310974402.html,mons-logging.jar

Json数据格式的使用方法入门教程

JSON 数据格式解析 和 XML 一样,JSON 也是基于纯文本的数据格式。由于 JSON 天生是为JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的Object 对象。 String,Number 和 Boolean 用 JSON 表示非常简单。例如,用 JSON 表示一个简单的 String “ abc ”,其格式为: "abc" 除了字符 ",\,/ 和一些控制符(\b,\f,\n,\r,\t)需要编码外,其他 Unicode 字符可以直接输出。下图是一个 String 的完整表示结构: 图 1. String 的完整表示结构 一个 Number 可以根据整型或浮点数表示如下:

图 2. Number 的表示结构 这与绝大多数编程语言的表示方法一致,例如: 12345(整数) -3.9e10(浮点数) Boolean 类型表示为 true 或 false 。此外,JavaScript 中的 null 被表示为 null,注意,true、false 和 null 都没有双引号,否则将被视为一个String 。 JSON 还可以表示一个数组对象,使用 [] 包含所有元素,每个元素用逗号分隔,元素可以是任意的 Value,例如,以下数组包含了一个 String,Number,Boolean 和一个 null: Object 对象在 JSON 中是用 {} 包含一系列无序的 Key-Value 键值对表示的,实际上此处的 Object 相当于 Java 中的 Map,而不是Java 的 Class 。注意 Key 只能用 String 表示。 例如,一个 Address 对象包含如下 Key-Value:

使用JSON的方法

Java代码转换成json代码 1.import net.sf.json.JSONArray; 2.import net.sf.json.JSONObject; 1. List集合转换成json代码 List list = new ArrayList(); list.add( "first" ); list.add( "second" ); JSONArray jsonArray2 = JSONArray.fromObject( list ); 2. Map集合转换成json代码 Map map = new HashMap(); map.put("name", "json"); map.put("bool", Boolean.TRUE); map.put("int", new Integer(1)); map.put("arr", new String[] { "a", "b" }); map.put("func", "function(i){ return this.arr[i]; }"); JSONObject json = JSONObject.fromObject(map); 3. Bean转换成json代码 JSONObject jsonObject = JSONObject.fromObject(new JsonBean()); 4. 数组转换成json代码 boolean[] boolArray = new boolean[] { true, false, true }; JSONArray jsonArray1 = JSONArray.fromObject(boolArray);

JSON 数据格式

JSON 数据格式 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。 基础结构 JSON建构于两种结构: 1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组(associative array)。 2. 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。 基础示例 简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是JavaScript 很容易解释它,而且 JSON 可以表示比"名称 / 值对"更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。 表示名称 / 值对 按照最简单的形式,可以用下面这样的 JSON 表示 "名称 / 值对" :{ "firstName": "Brett" } 这个示例非常基本,而且实际上比等效的纯文本 "名称 / 值对" 占用更多的空间:firstName=Brett 但是,当将多个"名称 / 值对"串在一起时,JSON 就会体现出它的价值了。首先,可以创建包含多个"名称 / 值对"的记录,比如: { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }

json用法

JSON 语法是JavaScript 语法的子集。 JSON 语法规则 JSON 语法是JavaScript 对象表示法语法的子集。 ?数据在名称/值对中 ?数据由逗号分隔 ?花括号保存对象 ?方括号保存数组 JSON 名称/值对 JSON 数据的书写格式是:名称/值对。 名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值: 这很容易理解,等价于这条JavaScript 语句: JSON 值 JSON 值可以是: ?数字(整数或浮点数) ?字符串(在双引号中) ?逻辑值(true 或false) ?数组(在方括号中) ?对象(在花括号中) ?null JSON 对象 JSON 对象在花括号中书写: 对象可以包含多个名称/值对: 这一点也容易理解,与这条JavaScript 语句等价:

JSON 数组 JSON 数组在方括号中书写: 数组可包含多个对象: 在上面的例子中,对象"employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。 JSON 使用JavaScript 语法 因为JSON 使用JavaScript 语法,所以无需额外的软件就能处理JavaScript 中的JSON。 通过JavaScript,您可以创建一个对象数组,并像这样进行赋值: 例子 可以像这样访问JavaScript 对象数组中的第一项: 返回的内容是:

可以像这样修改数据: JSON 实例- 来自字符串的对象 创建包含JSON 语法的JavaScript 字符串: 由于JSON 语法是JavaScript 语法的子集,JavaScript 函数eval() 可用于将JSON 文本转换为JavaScript 对象。 eval() 函数使用的是JavaScript 编译器,可解析JSON 文本,然后生成JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误: 在网页中使用JavaScript 对象: 例子

通过JSON 字符串来创建对象

First Name:
Last Name:
var jsonObj= { persons:[ {name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ] }; var persons = jsonObj.persons; var person={name:"yaoMing",sex:"m",age:"26"}; jsonObj.persons.unshift(person);//数组最前面加一条记录,只要适合Javascript的方法都是可以用在JSON对象的数组中的! jsonObj.persons.push(person);//数组最后加一条记录 jsonObj.persons.splice(0,0,person,person1,person2...);//开始位置,删除个数,插入对象,此方法可以在指定位置插入元素(1个或多个) jsonObj.persons.pop();//删除最后一项 jsonObj.persons.shift();//删除第一项 jsonObj.persons.splice(0,2);//开始位置,删除个数,可删除指定索引位置的元素 alert(persons[0].name)//查看第一个元素的name属性或者persons[0]["name"] For(var i in persons) persons[i].name="china"//循环遍历数组,将所有元素的name改为china persons.length//获取json对象长度

JSONObject和JSONArray使用手册

JSONObject和JSONArray使用 import net.sf.json.JSONArray; import net.sf.json.JSONObject; import java.util.*; public class Java Test { public static void main(String[] args){ JSONObject obj=new JSONObject(); obj.put("derek","23"); obj.put("dad", "49"); obj.put("mom", "45"); System.out.println("通过构造器的方式创建的JSONObject对象:"+obj); Map map=new LinkedHashMap<>(); map.put("derek","23"); map.put("dad", "49"); map.put("mom", "45"); System.out.println("通过fromObject方法将map对象转换为JSONObject对象:"+JSONObject.fromObject(map)); JSONArray arr=new JSONArray(); arr.add(0,"derek"); arr.add(1,"dad"); arr.add(2,"mom"); System.out.println("通过构造器的方式创建的JSONArray:"+arr); ArrayList list=new ArrayList<>(); list.add("derek"); list.add("dad"); list.add("mom"); System.out.println("通过fromObject方法将Arraylist对象转换为JSONArray对象:"+JSONArray.fromObject(list)); System.out.println("将HashMap对象通过fromObject方法转换为JSONArray对象"+JSONArray.fromObject(map)); String str="{\"derek\":23,\"dad\":49,\"mom\":45}";

JSON规范

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON 采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。 JSON建构于两种结构: ?“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组(associative array)。 ?值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。 这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。 JSON具有以下这些形式: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。 数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。 值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。

Jayrock.Json读取json数据(net)

1:首先下载Jayrock.Json.dll文件,放入bin目录中;地址:https://www.doczj.com/doc/7310974402.html,/down/Jayrock.Json.dll_356701.html 2:如下json格式: using Jayrock.Json; string jsonWriter = "{'games':[{'username':'is_51315925', 'player_level':'2'},{'username':'is_61315925', 'player_level':'3'}]}"; JsonReader jsonRead = new JsonTextReader(new StringReader(jsonWriter)); JsonObject jsonObj = new JsonObject(); //将文本的jsonWriter数据转变成一个对象 jsonObj.Import(jsonRead); //获取games内容转化成JsonArray对象: JsonArray gameArray = jsonObj["games"] as JsonArray; //两个数组{},循环获取每个数组中的“username”的值 foreach (JsonObject o in gameArray) { string c = o["username"].ToString(); } 3:如下json格式 string strJsonText = @"{"cacheCount":1,"count":"34","slice":"5, 5","list": [1001598,1001601,1001605,1001609,1001612],"page":1,"error":200}"; JsonReader reader = new JsonTextReader(new StringReader(strJsonText)); JsonObject jsonObj = new JsonObject(); jsonObj.Import(reader); 这样,就将一个文本的JSon数据转变成一个对象,如果要获取 count 的值,则可以这样 string count = jsonObj["count"].ToString(); 但是有个问题,list 是一个数组,该如何获取呢?不用急,Jayrock已经为我们准备好了,来看 using (JsonTextReader textReader = new JsonTextReader(new StringReader(jsonObj["list"].ToString()))) { while (textReader.Read()) { if (!string.IsNullOrEmpty(textReader.Text)) { Response.Write(textReader.Text);

js操作json

JS操作JSON总结 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON 是JavaScript 原生格式,这意味着在JavaScript 中处理JSON数据不须要任何特殊的API 或工具包。 本文主要是对JS操作JSON的要领做下总结。 在JSON中,有两种结构:对象和数组。 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“…名称/值? 对”之间运用“,”(逗号)分隔。名称用引号括起来;值如果是字符串则必须用括号,数值型则不须要。例如: var o={"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"}; 2. 数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间运用“,”(逗号)分隔。 例如: var jsonranklist=[{"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"},{"xlid":"zd","xldigitid":12 3456,"topscore":1500,"topplaytime":"2009-11-20"}]; 为了方便地处理JSON数据,JSON提供了json.js包,下载地址:https://www.doczj.com/doc/7310974402.html,/json.js 在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如: JSON字符串: var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象: var str2 = { "name": "cxh", "sex": "man" }; 一、JSON字符串转换为JSON对象 要运用上面的str1,必须运用下面的要领先转化为JSON对象: //由JSON字符串转换为JSON对象 var obj = eval('(' + str + ')'); 或者 var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

js创建对象的几种方式及JSON

js中的json对象 默认分类2010-07-16 17:13:32 阅读730 评论0 字号:大中小订阅 使用JSON进行数据传输 一、选择的意义 在异步应用程序中发送和接收信息时,可以选择以纯文本和XML 作为数据格式。为了更好的使用ajax,我们将学习一种有用的数据格式JavaScript Object Notation(JSON),以及如何使用它更轻松地在应用程序中移动数据和对象。JSON是一种简单的数据交换格式,在某些方面,它的作用与XML非常类似,但比XML更为简单,JSON的语法简化了数据交换的难度,而且提供了一种伪对象的方式。 Java的对象< - >JavaScript对象(json数据格式) 二、JSON 基础 简单地说,JSON 可以将JavaScript 对象中表示的一组数据转换为字符串(伪对象),然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从Web 客户端传递给服务器端程序。这个字符串看起来有点儿古怪(稍后会看到几个示例),但是JavaScript 很容易解释它,而且JSON 可以表示比名称/值对更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。 关于JSON对象 1、使用JavaScript语法创建对象 //定义一个函数,作为构造函数 fucntion person(name,sex) { https://www.doczj.com/doc/7310974402.html,=name; this.sex=sex; } //创建一个实例 var p=new Person(‘张三’,’男’); //输出Person实例 alert(https://www.doczj.com/doc/7310974402.html,); 注意:通过该方式创建的对象是一般的脚本对象 2、从JavaScript1.2开始创建对象有了一种更快捷的语法(Json的语法),如下: var obj={name:"张三","sex":'男'}; alert(obj.sex); 关于数组 1、早期的JavaScript数组 var arr=new Array(); arr[0]=’a’; arr[1]=’bbc’ 我们也可以通过如下方式创建数组 var arr=new Array(‘a’,’bbc’); 2、使用JSON语法,则可以通过如下方式创建数组 var arr=[‘a’,’bbc’]; 简单JSON 示例 按照最简单的形式,可以用下面这样的JSON 表示名称/值对:

JSON两种结构之对象和数组的理解

这篇文章主要介绍了JSON两种结构之对象和数组的理解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 JSON简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript 的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。 Json是一种异常简单易懂的数据格式,关于json的规定,仅仅如下而已: 1)并列的数据之间用逗号(", ")分隔。 2)映射用冒号(": ")表示。 3)并列数据的集合(数组)用方括号("[]")表示。 4)映射的集合(对象)用大括号("{}")表示。 JSON有两种结构数组和对象:数组表示有序数据的集合,而对象表示无序数据的集合。 看下面例子: $arr = array(111,'aaa','bbb'); $arr1 = array( 'a' => 'aaa', 'b' => 222 ); $arr2 = array( 'a' => 'aaa', 'other' => array( 'bbb',1111 ) ); echo json_encode($arr); //[111,"aaa","bbb"] echo json_encode($arr1); //{"a":"aaa","b":222} echo json_encode($arr2); //{"a":"aaa","other":["bbb",1111]} 从上看出:由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。 关于PHP对json支持说明: json_encode只支持UTF-8编码的数据; json_decode永远只反映一个PHP对象,带上第二个参数true可返回数组: $json = '{"a":"aaa","other":["bbb",1111]}'; print_r(json_decode($json)); print_r(json_decode($json, true)); 以上所述是小编给大家介绍的JSON两种结构之对象和数组的理解,希望对大家有所帮助

java处理JSON格式数据的通用类

java处理JSON格式数据的通用类-每天进步一点点-我的搜狐 一个java处理JSON格式数据的通用类 分类:JSON 2013-04-27 18:00 阅读(19)评论(0) 原始的json方法 response.setContentType("text/html;charset=UTF-8"); response.setHeader("Cache-Control","no-cache"); JSONObject json = new JSONObject();//用于存放最后返回的json变量JSONArray jsonal = new JSONArray();//用于存放json的列表 JSONObject jsonobj = new JSONObject();//用于存放列表中的单条数据 try{ for(int i=0;i<10;i++){ //把列表中的每一列的每个值赋给jsonobj jsonobj.put("id", "编号"); jsonobj.put("title", "标题"); jsonobj.put("author", "作者"); jsonobj.put("time", "时间"); //把已经赋值过的jsonobj(即单条数据)放到列表里 jsonal.add(jsonobj); } json.put("list", jsonal);//把这个列表放到json里面用于最后返回输出 }catch(Exception e){ e.printStackTrace(); } response.getWriter().write(json.toString());//把json值输出返回到页面上这里是字符串的形式我前台是用js接收来解析的 别人写的工具类:

在handler中接收json数组

一、调用webservice接口在线程发送消息 if(methodname.equals("GetStationByUserID")){ //根据用户ID获取站点列表 // System.out.println("---根据用户ID获取站点列表 ---"); stationArrayList = new ListviewDatasourse().getstationlist(methodname, soapObject); Message message = handle.obtainMessage(); Bundle data = new Bundle(); message.what = 3; // 这里是消息的类型 StringBuffer sb = new StringBuffer("["); for(int i = 0; i < stationArrayList.size(); i++) { Map map = (Map) stationArrayList.get(i); for (Object obj : map.keySet()) { String key = (String) obj;

String value = (String) map.get(key); sb.append("{\"key\"=\""+key+"\",\"value\"=\""+value+" \"},"); } } if(sb.length()>1){ //如果数组长度大于1 sb.deleteCharAt(sb.length()-1); //去掉最后一个逗号 } sb.append("]"); info = sb.toString(); data.putBoolean("data", true); // 这里是消息传送的数据 data.putString("info", info); message.setData(data); handle.sendMessage(message); } 二、在handler中接收数据

相关主题
文本预览
相关文档 最新文档