json格式的数据的定义是什么?

百度文库解释:1、键/值对的集合 2、值的有序列表
但一个普通字符串经json_encode('随便的字符串')也能返回一个字符串,php手册中"json_encode()成功后返回一个json格式的字符串",这个被返回的字符串明显不符合"键/值对的集合“,这不是互相矛盾吗(而且php中json_encode的定义是对变量进行编码,并没规定这个变量不可以是字符串)?
$str = array('pid'=>'参数一', 'child'=>'参数二', 'name'=>'参数');
echo json_encode($str);
用ajax接收json_encode($str)字符串经eval()后能得到一个对象,
如果在后台用字符串要怎样拼接在前台能得到一个对象呢,或者说php中的数组(而字符串不能)对应的是js中的对象,json只是起了一个数据传输方式的作用?给搞晕了

json格式:
1. {“a”:"A","b":"B","c":"C"}键值对,类似于java中的map
2. json数组 [{“a”:"A","b":"B","c":"C"},{“a”:"A","b":"B","c":"C"},{“a”:"A","b":"B","c":"C"}]只要满足以上格式,可以自行组合,因此表示的数据就更复杂了

还有推荐答案,那个用分号分隔,没有实际操作过,不知道正确与否!!只用逗号用过
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-30
JSON 语法规则
JSON 语法是 JavaScript 对象表示语法的子集。
数据在名称/值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
JSON 名称/值对
JSON 数据的书写格式是:名称/值对。
名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:

1

"firstName":"John"

这很容易理解,等价于这条 JavaScript 语句:

1

firstName="John"

JSON 值
JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null
第2个回答  2012-07-28
想这样, {a:"a"}这就是一个JSON数据。 JSON数据是用键值对的形式存储的。冒号(:)前面的是键,冒号后面的是值。JSON,的每一个值之间可以用分号(;)隔开。大的类可以用{}大括号包围他其中的值,集合可以用[]中括号,包围值本回答被网友采纳
第3个回答  2020-12-30
MySQL 从 5.7 开始,增加了新的数据类型:JSON。
JSON 类型的出现,弥补了 MySQL 长期以来相比其他关系型数据库的非标准化特性略势,比如可以用 JSON 来实现类似字典、数组等类型。以及之后大量针对 JSON 类型字串的相关遍历方法与函数。
比如对数组来说,简单的遍历路径为 "$[数组小标]" 或者 "$[*]" 来一次性遍历所有元素。MySQL 8.0 又新增了对于数组元素的范围遍历,比如 "$[m to n]",表示遍历下标为 m 到 n 的元素。
第4个回答  2020-12-03

相似回答