json学习笔记

json学习笔记
json学习笔记

JSON
JSON:JavaScript 对象表示法(JavaScript Object Notation)。 JSON 是存储和交换文本信息的语法。类似 XML。 JSON 比 XML 更小、更快,更易解析。
JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。 JSON 解析器和 JSON 库支持许多不同的编程语言。
JSON - 转换为 JavaScript 对象
JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。 由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原 生的 JavaScript 对象。
类似 XML
? ? ? ? ?
JSON 是纯文本 JSON 具有“自我描述性”(人类可读) JSON 具有层级结构(值中存在值) JSON 可通过 JavaScript 进行解析 JSON 数据可使用 AJAX 进行传输
相比 XML 的不同之处
? ? ? ? ? ?
没有结束标签 更短 读写的速度更快 能够使用内建的 JavaScript eval() 方法进行解析 使用数组 不使用保留字
为什么使用 JSON?
对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:
使用 XML
? ? ?
读取 XML 文档 使用 XML DOM 来循环遍历文档 读取值并存储在变量中

使用 JSON
? ?
读取 JSON 字符串 用 eval() 处理 JSON 字符串
JSON 语法规则
JSON 语法是 JavaScript 对象表示法语法的子集。
? ? ? ?
数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组
JSON 值
JSON 值可以是:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true 或 false) 数组(在方括号中) 对象(在花括号中) null
SON 数组
JSON 数组在方括号中书写: 数组可包含多个对象:
{ "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" } ] }
JSON 使用 JavaScript 语法
因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。 通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:

例子
var employees = [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName": "Carter" } ];
可以像这样访问 JavaScript 对象数组中的第一项: employees[0].lastName;
返回的内容是: Gates
可以像这样修改数据: employees[0].lastName = "Jobs";
JSON 文件
? ?
JSON 文件的文件类型是 ".json" JSON 文本的 MIME 类型是 "application/json"
?
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。 是设定某种 扩展名的文件用一种应用程序来打开的方式类型, 当该扩展名文件被访问的时候, 浏览 器会自动使用指定应用程序来打开。 多用于指定一些客户端自定义的文件名, 以及一些 媒体文件打开方式。
把 JSON 文本转换为 JavaScript 对象
JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。
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":123456,"topscore":1500,"topplaytime":"2009-11-20"}]; 为了方便地处理 JSON 数据,JSON 提供了 json.js 包,下载地址:https://www.360docs.net/doc/ef17459500.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 对象 或者 var obj = JSON.parse(str); //由 JSON 字符串转换为 JSON 对象 然后,就可以这样读取: Alert(https://www.360docs.net/doc/ef17459500.html,); Alert(obj.sex); 特别留心:如果 obj 本来就是一个 JSON 对象,那么运用 eval()函数转换后(哪怕是多次转换)还 是 JSON 对象,但是运用 parseJSON()函数处理后会有疑问(抛出语法异常)。 二、可以运用 toJSONString()或者全局要领 JSON.stringify()将 JSON 对象转化为 JSON 字符串。

例如: var last=obj.toJSONString(); //将 JSON 对象转化为 JSON 字符 或者 var last=JSON.stringify(obj); //将 JSON 对象转化为 JSON 字符 alert(last); 留心: 上面的多个要领中,除了 eval()函数是 js 自带的之外,其他的多个要领都来自 json.js 包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个要领都注入到了 Javascript 的内建 对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不 到 toJSONString()和 parseJSON()要领,则说明您的 json 包版本太低。
JSONObject
Json 对象是 Name Value 对(即子元素)的无序集合,相当于一个 Map 对象。JsonObject 类是 bantouyan-json 库对 Json 对象的抽象,提供操纵 Json 对象的各种方法。本文就介绍 如何操纵 JsonObject 类。 一、创建 JsonObject 实例 创建 JsonObject 实例有两类方法,一是利用超类 Json 的静态方法 parseJsonText、 parseJsonReader 与 parseJavaMap 获取 JsonObject 实例,二是直接利用 JsonObject 类的 构造方法创建 JsonObject 实例。 根据传入的参数不同,parseJsonText 返回一个 JsonObject 实例或 JsonArray 实例, 利用 parseJsonText 方法的示例代码如下: Java 代码
1. String jsonText = "{'name1': 'value1', 'name2': 'value2'}"; 2. JsonObject jobj = (JsonObject)Json.parseJsonText(jsonText);
parseJsonText 返回的是一个 Json 类变量,所以要使用强制类型转换。 parseJsonReader 负责从 Reader 类型参数内读取 Json 文本流, 然后转换为 Json 实例, 与 parseJsonText 一样,返回值需要强制类型转换。 方法 parseJavaMap 直接返回 JsonObject 变量,不用类型转换,示例代码如下: Java 代码

1. HashMap map = new HashMap(); 2. map.put("nameA", "valueA"); 3. map.put("nameB", "valueB"); 4. JsonObject jobj = Json.parseJavaMap(map);
如果 Map 内有复杂的对象需要解析,可以用 parseJavaMap 的重载版本 parseJavaMap(Map, JsonParser)来处理(JsonParser 的使用参考解析 Json——Json 类的静 态方法的第五部分)。 JsonObject 类的构造函数有四个重载版本:JsonObject()、JsonObject(int)、 JsonObject(Map)与 JsonObject(Map, JsonParser)。不带参数与带整型参数的重载版本都 构造一个空的 JsonObject 实例,所不同的是带整型参数的重载版本能够指定 JsonObject 初始容量的大小,以避免不必要的重新分配内存。重载版本 JsonObject(Map)与 JsonObject(Map, JsonParser)的使用类似于 Json 类的静态方法 parseJavaMap。 二、给 JsonObject 添加子元素 给 JsonObject 实例添加子元素调用方法 add 或 addAll。 bantouyan-json 库规定, 方法 add 与 addAll 都不能添加 Name 为 null 的子元素,也不能添加与已有子元素 Name 相同的子 元素,否则会抛出异常。 方法 add 有七种重载版本,方法 addAll 有三种重载版本,分别使用于不同的情况。 三、变更 JsonObject 子元素的 Value 要改变 JsonObject 子元素的 Value 可以调用方法 set 与 setAll。 这两个方法都忽略 Name 为 null 的子元素,如果存在 Name 相同的子元素,则更改这个子元素的 Value,否则添加一 个新的子元素。 方法 set 也有七种重载版本,addAll 有三种重载版本,分别适用于不同的情况。 四、获取与检测 JsonObject 子元素 JsonObject 的每个子元素的 Value 都是一个 Json 实例,可以用方法 get(String)获取 这个实例。 至于这个实例的类型, 除可以调用方法 getType()获得外, 还可以通过 JsonObject 对方法 getType 的重载版本 getType(String)获取(String 为子元素的 Name)。 利用方法 getString(String)可以获取指定 Name 的子元素 Value 的字符串值,如果子 元素的 Value 是 JsonPrimitive 实例, 则返回这个实例值对应的字符串(不带引号与转义符), 否则返回对应的标准 Json 文本。

如果想获取子元素的 Value 所对应的 boolean、 double、 long、 JsonArray 与 JsonObject 类型的值,则可以分别调用方法 getBoolean(String)、getDouble(String)、 getLong(String)、getJsonArray(String)与 getJsonObject(String)。与 getString 方法 不一样的是当子元素的 Value 无法转换为相应的类型时会抛出异常。方法 canToBoolean(String)、canToDouble(String)、canToLong(String)、 canToJsonArray(String)与 canToJsonObject(String)可以检测是否可以转换为对应的类 型。 以特定的类型获取子元素的 Value 时, 方法 canToXXX 返回 true 并不表明子元素的 Value 就是所测试的类型。 根据 bantouyan-json 库设计, 如果子元素的 Value 的类型是 INTEGER, 则可以得到对应的 double 类型的值,如果类型时 String,对于部分 Value,可以得到对应 的 boolean、long、double 类型的值。 五、确定 JsonObject 子元素是否存在 在获取子元素前可能无法确定 JsonObject 是否包含指定 Name 的子元素, 要确定子元素 存在,请调用方法 containsName(String)。 六、删除 JsonObject 子元素 删除 JsonObject 的子元素调用方法 remove(String),参数为要删除的子元素的 Name。 七、获取 JsonObject 子元素相关的集合 与 Map 一样,JsonObject 也是由无序的 Name Value 对构成,为此,JsonObject 实现了 三个方法用于获取子元素相关的集合。 entrySet(),返回由子元素的 Name Value 对构成的集合。 nameSet(),返回由子元素的 Name 构成的集合。 values(),返回由子元素的 Value 构成的集合。
如何在 myeclipse 中导入 jar 包?
右键项目名--->Build Path—>Configure Build Path... 会弹出来一个框 在那四个选项选择 Libraries 然后再选择 右边 第二个选项 Add External Jars... 然后就是你 JAR 的路径

后台转换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.360docs.net/doc/ef17459500.html,mons-lang.jar https://www.360docs.net/doc/ef17459500.html,mons-beanutils.jar https://www.360docs.net/doc/ef17459500.html,mons-collections.jar https://www.360docs.net/doc/ef17459500.html,mons-logging.jar

Java获取http和https协议返回的json数据

Java获取http和https协议返回的json数据 现在很多公司都是将数据返回一个json,而且很多第三方接口都是返回json数据,而且还需要使用到http协议,http协议是属于为加密的协议,而https协议需要SSL证书,https是将用户返回的信息加密处理,然而我们要获取这些数据,就需要引入SSL证书。现在我提供两个方法,帮助各位如何获取http和https返回的数据。 获取http协议的数据的方法,如下: public static JSONObject httpRequest(String requestUrl, String requestMethod) { JSONObject jsonObject = null; StringBuffer buffer = new StringBuffer(); try { URL url = new URL(requestUrl); // http协议传输 HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection(); httpUrlConn.setDoOutput(true); httpUrlConn.setDoInput(true); httpUrlConn.setUseCaches(false); // 设置请求方式(GET/POST)

httpUrlConn.setRequestMethod(requestMethod); if ("GET".equalsIgnoreCase(requestMethod)) httpUrlConn.connect(); // 将返回的输入流转换成字符串 InputStream inputStream = httpUrlConn.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8"); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String str = null; while ((str = bufferedReader.readLine()) != null) { buffer.append(str); } bufferedReader.close(); inputStreamReader.close(); // 释放资源 inputStream.close(); inputStream = null; httpUrlConn.disconnect(); jsonObject =

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 数据格式

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对象长度

Highcharts获取json数据展现范文

实际上很多时候图表展现的数据都是从服务器端获取,现在来做一个简单的异步获取json数据的例子。 服务器端用Servlet3.0实现,JSP页面通过jquery异步请求json数据提供给Highcharts 展现。 1、用一个实体类封装要展现的信息 package cn.luxh.app.entity; public class BrowserShare { //浏览器名称 private String name; //份额 private float share; public BrowserShare(String name, float share) { super(); https://www.360docs.net/doc/ef17459500.html, = name; this.share = share; } public float getShare() { return share; } public void setShare(float share) { this.share = share; } public String getName() { return name; } public void setName(String name) { https://www.360docs.net/doc/ef17459500.html, = name; } }

2、处理请求的Servlet package cn.luxh.app.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.gson.Gson; import cn.luxh.app.entity.BrowserShare; @WebServlet(name="dataServlet",value="/servlet/dataServlet") public class DataServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("application/json;charset=utf-8"); List resultList = getData(); Gson gson = new Gson(); String result = gson.toJson(resultList);//转成json数据 PrintWriter out = response.getWriter(); out.write(result); out.flush(); out.close(); } /** * 获取数据 */ private List getData() { List resultList = new ArrayList(); resultList.add(new BrowserShare("Chrome",18.55F));

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)。这些结构可以嵌套。

JSON_API说明

自定义JSON数据格式详解:手机APP侧使用说明 Requset ? { “KeyId” : “string” } 此数据格式,为客户端请求与服务器建立交互密钥连接使用,使用明文传输,不需要加密。KeyId : 为插在设备上面的标识Id号码 获取KeyId需要调用的函数依次如下: Java_cpk_com_jni_TCard_Open 打开外接TF卡设备 (JNIEnv *jenv, jclass jc, jint pinType, jbyteArray jpin, jint pinLen) 输入参数如下: pinType : 1 超级用户 2 普通用户使用普通用户打开设备 jpin : 8个0x31 pinLen : 8 JNICALL Java_cpk_com_jni_TCard_GetCertId (JNIEnv *jenv, jclass jc, jint keyId) 输入参数如下: keyId的序列号:统一传入0x00 返回值:KeyId号码 调用如上两个函数就可以获取到外接TF卡设备的KeyId号码 Request_result ? { “Public_key” : “string”, “Private_key” : “string” } 当客户端发送Request请求过来时候,服务器会生成一个随机数a,利用随机数a作为标识Id,生成随机数a的公私钥对,Public_key字段为随机数a的公钥,Private_key字段为随机数a的私钥,此数据通信的时候,使用客户端发送过来的标识Id的公钥加密。 解密上面格式的数据使用如下函数: JNIEXPORT jbyteArray JNICALL Java_cpk_com_jni_TCard_Decrypt (JNIEnv *jenv, jclass jc, jint keyId, jbyteArray jcipher, jint cipherLen) 输入参数解释如下: keyId: 序列号统一传入0x00 jcipher: 从服务器获取到的密文数据 cipherLen: 密文数据的长度

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.360docs.net/doc/ef17459500.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对象

用jquery解析JSON数据的方法

用jquery解析JSON数据的方法 用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery请求后返回的结果是json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是大同小异,这里不再做说明。这里首先给出JSON字符串集, 用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery 请求后返回的结果是json对象,这里考虑的都是服务器返回JSON 形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是大同小异,这里不再做说明。 这里首先给出JSON字符串集,字符串集如下: 代码如下: var data=" { root: [ {name:'1',value:'0'}, {name:'6101',value:'北京市'}, {name:'6102',value:'天津市'}, {name:'6103',value:'上海市'}, {name:'6104',value:'重庆市'}, {name:'6105',value:'渭南市'}, {name:'6106',value:'延安市'}, {name:'6107',value:'汉中市'}, {name:'6108',value:'榆林市'}, {name:'6109',value:'安康市'}, {name:'6110',value:'商洛市'} ] }"; 这里以jquery异步获取的数据类型——json对象和字符串为依据,分别介绍两种方式获取到的结果处理方式。 1.对于服务器返回的JSON字符串,如果jquery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次。这种方式也适合以普通javascipt方式获取json对象,以下举例说明: var dataObj=eval("("+data+")");//转换为json对象 alert(dataObj.root.length);//输出root的子对象数量 $.each(dataObj.root,fucntion(idx,item){ if(idx==0){ return true; }

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.360docs.net/doc/ef17459500.html,=name; this.sex=sex; } //创建一个实例 var p=new Person(‘张三’,’男’); //输出Person实例 alert(https://www.360docs.net/doc/ef17459500.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 表示名称/值对:

相关文档
最新文档