基础语法
声明json对象
字符串值或键必须使用
双引号
引起来。不可以使用单引号,否则出错。
//创建
'{"test": "str" }' //字符串
'{"test": 123 }' //数值
'{"test": ["a","b","c"]}' //数组
'{"test":{"a":1,"b":2}}'//对象
'{"test":[{"a":1,"b":2}]}'
'{"test":true}'//逻辑值 true或fasle
'{"test":null}'//null
解析json对象
语法 | 参数 | 返回值 |
eval(jsonstr) | jsonstr:有效的 JSON 文本 | JavaScript 值对象或数组,(危险,可以执行js脚本代码) |
JSON.parse(text [, reviver]) | text:有效的 JSON 文本 reviver:筛选和转换的结果的函数 |
JavaScript 值对象或数组 |
JSON.stringify(value [, replacer] [, space]) | value:JavaScript 值,该值通常对象或数组,将序列化 replacer:筛选和转换的结果的函数 space:添加缩进,空白和换行符到的返回值 JSON 文本使代码更容易 |
包含序列化的 JSON 的文本字符串,JSON对象转为字符串 |
//JSON.parse()实例
var json='{"abc":"123","abcd":[{"a":"1"},{"b":"2"}],"abde":["c","d"]}';
var json= JSON.parse(json);
json.abc
json.abde[0]
json.abcd[0].a
//JSON.stringify()实例
var arr=['apple','banana',{test:'123'}];
var z= JSON.stringify(arr);
//["apple","banana",{"test":"123"}]
console.log(typeof z);//string
console.log(typeof arr);//object
PHP接收和传递JSON
语法 | 参数 | 功能 |
mixed json_decode ( string $json [, bool $assoc ] ) | json待解码的json string格式的字符串 assoc 当该参数为 TRUE 时,将返回 array 而非 object |
对 JSON 格式的字符串进行编码 |
string json_encode ( mixed $value ) | 待编码的 value 注意:该函数只能接受 UTF-8 编码的数据 | 对变量进行 JSON 编码,编码成功则返回一个以 JSON 形式表示的 string 或者在失败时返回 FALSE |
# json_decode()实例
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json));
var_dump(json_decode($json, true));
#json_encode() 实例
$arr = array (‘a’=>1,‘b’=>2,‘c’=>3,‘d’=>4,‘e’=>5);
echo json_encode($arr);
// {"a":1,"b":2,"c":3,"d":4,"e":5}
JSON应用(翻译字典)
百度词典API是百度面向开发者推出的免费词典服务开放接口,返回JSON数据格式,任何第三方应用或网站都可以通过使用百度词典API为用户提供实时优质的词典查询服务,提升产品体验。 具体请查看开发文档
API的URL
http://openapi.baidu.com/public/2.0/translate/dict/simple?client_id=YourApiKey&q=do&from=en&to=zh
URL参数说明
key | value | 描述 |
from | 源语言语种 | 目前支持中文(zh)、英文(en) |
to | 目标语言语种 | 目前支持中文(zh)、英文(en) |
client_id | 开发者在百度开发者中心注册得到的授权API key | 点此创建工程获取API |
q | 请求的词语 | UTF-8,urlencode编码 |
响应字段说明
key | value | 描述 |
errno | 错误码 | 0为成功返回,其他都为失败 |
from | 源语言语种 | 目前支持中文(zh)、英文(en) |
to | 请求词典的语种 | |
word_name | 请求的词语 | |
ph_am | 美式音标 | 英中方向 |
ph_en | 英式音标 | 英中方向 |
ph_zh | 中文拼音 | 中英方向 |
part | 每个翻译的词性 | |
means | 该词性情况下的释义 |