要使用json来传输数据,必须将所承载的数据转换成json的格式。json的格式如下:

JSON建构于两种结构: 
    1. “名称/值”对的集合。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 
    2. 值的有序列表。在大部分语言中,它被理解为数组(array)。

这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

JSON具有以下这些形式: 
    1.对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。 
  例:{"name":"张三","age":20,"birthday":"1982-07-20"} 
  这是对象在json中的表示形式.即{"key1":"value1","key2":"value2",...}

2.数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。 
  例:["张三","李四","王五"] 
  这是数组在json中的表示形式.即[value1,value2,value3,....]

3.值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。

4.字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

字符串(string)与C或者Java的字符串非常相似。

5.数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。

注:你只要记住前两种形式就可以了。 
    注意:key一定要用引号,而value如果是字符串,也一定要用引号引起来。切记,有的系统中,只当双引号是有效的,而不认单引号。所以建议用双引号。 
    更多的格式内容请访问http://json.org/json-zh.html

以上说了json的表示形式,那么现在来看一下它的使用: 
   因为语言的不同,在action中对json的使用方式也不一样,但思路是一样的,那就是将json转换为对象或数组,我们这里只提及客户端的javascript中json的转换。你使用哪种语言,请参照本语言使用json的方式。 
    1.首先,在javascript中要获取前端页面中所有输入域的值,保存到数组或一个对象中。 
    2.将对象或数组转换成JSON格式。有一个js文件能让我们转换起来非常方便,就是prototype.js,导入这个文件后,使用(对象.toJSON())或(数组.toJSON()),这个对象或数组就被保存成为了JSON格式的数据 
    3.将这个JSON对象传入action中进行处理,然后返回。 
    4.如果返回的是一个json,那么各户端接收以后需要将json格式的数据转换为javascrip中的对象或数组。同样使用prototype.js,(json对象.evalJSON());好了,这样就转换成js中的对象或数组了。同样你也可以使用javascript中的eval函数进行转换。(eval(json对象)),这两种方式都可以效果是相同的,都是返回的javascript的对象或数组。你现在就可以在客户端的javascript中使用这个对象或数组了

注意:prototype.js与json.js可能会有冲突,建议只使用一种。当然在这里没有介绍json.js的使用,原因是prototype.js的功能已经十分强大,在使用prototype.js时,已经没有必要再使用json.js了

拼字符串:

<script type="text/javascript">
var a = new Array();
a[0]='www';
a[1]='jzhpeng';
var i,jsonstr;
jsonstr="[{";
for(i=0;i<a.length;i++)
{
jsonstr += a[i] + ":" + "\"" + a[i] + "\",";
}
jsonstr = jsonstr.substring(0,jsonstr.lastIndexOf(','));
jsonstr += "}]";
var t = eval(jsonstr);
alert(t[0].www);
</script>

js将数组转化成json相关推荐

  1. JS中数组(Array)、Json对象长度(length)获取方法

    JS中数组(Array).Json对象长度(length)获取方法 1.数组 var array = []; var length = array.length; 2.JSON对象 1)方法1: va ...

  2. php将数组转化成json字符串,php数组怎么转成json字符串

    在PHP中,可以使用json_encode()函数来将数组转化为json字符串,语法"json_encode(数组)".json_encode()函数可以对变量进行JSON编码,将 ...

  3. php将数组转化成json字符串,php数组如何转换json字符串

    php数组转换json字符串的方法:首先创建一个php示例文件:然后定义一组数组数据:最后通过"json_encode($color)"方法将数组转换成json字符串即可. PHP ...

  4. oracle json字符串转数组,json字符串转化成json对象(原生方法)

    json字符串.json对象.数组 三者之间的转换 //json字符串.json对象.数组 三者之间的转换 let jsonStr = '[{"id":"01" ...

  5. 多数组对象转为json数组格式

    JS多数组对象转为json数组 在工作中经常会遇到接口获取的数据结构与需要的数据结构不同的情况,这就需要我们自己把接口数据改为我们需要的格式. 情况一: var resData = {datetime ...

  6. 前端JS:判断list(数组)中的json对象是否重复

    前端JS:判断list(数组)中的json对象是否重复 <!DOCTYPE html> <html> <head> <meta charset="u ...

  7. java js对象转字符串数组_js 转json格式的字符串为对象或数组(前后台)的方法

    一.前台 // 转换成对象 var myObject = JSON.parse(_data); alert("对象:"+myObject.msg); // 转换成数组 var my ...

  8. JS中的数组转变成JSON格式字符串的方法

    有一个JS数组,如: var arr = [["projectname1","projectnumber1"],["projectname2" ...

  9. JS/Jquery遍历JSON对象、JSON数组、JSON数组字符串、JSON对象字符串

    JS遍历JSON对象 JSON对象 var jsonObj = {"id": 102,"year": "2019-2020","l ...

最新文章

  1. Dictionary作为数据源绑定,调用c++库中返回为BYTE*的函数,listView项排序
  2. 多媒体-设备的名称已被此应用程序用作别名,请使用唯一的别名
  3. SAP CRM里Interaction Object是个什么东东
  4. IDEA破解 2017 IDEA license server 激活(可用)
  5. 刷新echart控件
  6. python 图像倾斜校正_通过OpenCV和Python进行文本倾斜校正
  7. LabVIEW编程LabVIEW开发 PXI-4070数字万用表 例程与相关资料
  8. 安卓永久修改像素密度
  9. 10mbps 局域网组播_80211 组播速率及组播转单播
  10. 数仓中的维度、原子指标、派生指标、衍生指标、指标分类、缓慢变化维等的含义
  11. NPM install报错certificate has expired
  12. 机器学习笔记六——特征工程之数据预处理
  13. 十年磨一剑,两万字长文深剖析分享IC验证经验
  14. 四、Scala从入门到精通一一循环控制
  15. RockyLinux9.0系统在VMware虚拟机上【保姆级】安装步骤,并修改网络配置,使用固定IP进行SSH连接【47张过程图】
  16. 微信小程序生成小程序二维码图片无法正常显示的问题
  17. AudioVstPlayer1.2(本地音乐+51个VST插件槽位管理_免费纯净音频播放器)2023.04.24
  18. 微软封禁俄罗斯下载 Windows 启示录
  19. SIM800C使用HTTPS进行GET
  20. 面试必刷算法TOP101之图算法篇 TOP37

热门文章

  1. vue 禁止input输入框输入特殊字符和汉字
  2. 健身健美减脂、脱水、充碳记录
  3. 将字符串中的特殊字符进行转义
  4. 中国偶氮二异丁腈市场供需动态与投资前景展望报告(新版)2022-2027年
  5. LeetCode 41-50题
  6. MAC设置L2TP连接公司内部网络
  7. 一个故事弄懂域名解析
  8. Nvidia Xavier平台CAN收发控制器调试记录
  9. 什么是图像直方图直方图均衡的原理和作用图像信噪比的概念
  10. 无法打开这个应用,查看Microsoft store, 了解有关Nahimic的详细信息