JSON

简介: JSON是JavaScript对象表示法,一种轻量级的数据交换格式,JSON采用完全独立于语言的文本格式,不管任何语言只要按照json的规则都可以解析,具体有json读写更快、json长度比xml短小、json可以使用javaScript内置方法直接解析,转换成JavaScript对象特点。

基础语法

声明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 该词性情况下的释义
目录
相关文章
|
Kubernetes 应用服务中间件 nginx
在K8S里使用filebeat作为sidecar收集nginx日志
通过sidecar方法进行接入,与提供日志的容器部署在同一个pod里,主要是配置statefulset里的containers和configmap里的filebeat.yaml 1.把nginx的日志文件挂载在access_log这个volume里,同时在filebeat这个pod里也挂载access_log这个volume 2.filebeat通过subpath的方法挂载单独一个filebeat.yml到/usr/share/filebeat/filebeat.yml。注意,如果不用subpath挂载单个文件的话,是会覆盖掉/usr/share/filebeat/目录的 3.configm
3123 0
在K8S里使用filebeat作为sidecar收集nginx日志
|
机器学习/深度学习 自然语言处理 网络架构
深度学习中的正则化技术:从理论到实践
在深度学习的海洋中,正则化技术如同灯塔指引着模型训练的方向。本文将深入探讨正则化的核心概念、常见类型及其在防止过拟合中的应用。通过实例分析,我们将展示如何在实践中运用这些技术以提升模型的泛化能力。
|
机器学习/深度学习 PyTorch 编译器
Pytorch的编译新特性TorchDynamo的工作原理和使用示例
PyTorch的TorchDynamo是一个即时编译器,用于优化动态图执行,提高运行效率。它在运行时分析和转换代码,应用优化技术,如操作符融合,然后编译成高效机器码。通过一个包含特征工程、超参数调整、交叉验证的合成数据集示例,展示了TorchDynamo如何减少训练时间并提高模型性能。它易于集成,只需对现有PyTorch代码进行小改动,即可利用其性能提升。TorchDynamo的优化包括动态捕获计算图、应用优化和编译,适用于实时应用和需要快速响应的场景。
347 11
|
Kubernetes Go 网络安全
Kubernetes 中使用consul-template渲染配置
Kubernetes 中使用consul-template渲染配置
290 1
Kubernetes 中使用consul-template渲染配置
|
iOS开发
mac不通过Xcode直接打开IOS模拟器
mac不通过Xcode直接打开IOS模拟器
776 24
|
关系型数据库 MySQL 数据库
mysql中tonumber函数使用要注意什么
在处理这类转换操作时,考虑周全,利用提供的高性能云服务器资源,可以进一步提升数据库处理效率,确保数据操作的稳定性和安全性,尤其是在处理大量数据转换和运算密集型应用时。
375 0
|
Linux Shell 开发者
关于Linux上的$ORIGIN解说
适当应用 `$ORIGIN`,你的应用程序将更加灵活,更易于分发和部署。
563 5
|
监控 安全 物联网
物联网设备间通信协议选择的技术探讨
【7月更文挑战第31天】物联网设备间的通信协议选择是一个复杂而重要的决策过程。通过综合考虑应用场景、设备资源、网络环境、安全性、兼容性以及扩展性等多个因素,我们可以为物联网系统选择最合适的通信协议,从而构建出高效、可靠、安全的物联网生态系统。未来,随着物联网技术的进一步普及和深入应用,我们有理由相信,更多的创新通信协议将不断涌现,为物联网设备间的通信提供更加灵活、高效、安全的解决方案。同时,随着标准化进程的加速推进,不同协议之间的互操作性和兼容性也将得到进一步提升,为物联网系统的集成和扩展提供更加便捷的途径。
|
算法 安全 C#
C#版开源免费的Bouncy Castle密码库
C#版开源免费的Bouncy Castle密码库
220 1
|
搜索推荐 Windows
让你的电脑准时“打个盹”:Win10定时休眠
木头左教你设置Windows 10任务计划程序,让电脑定时休眠,节约能源又呵护健康。首先确保休眠功能开启,然后在任务计划程序创建新任务,命名如“定时休眠”,设置触发时间和操作(cmd.exe /c shutdown -h)。可高级定制,如条件触发或异常处理。跟着步骤实践,解决常见问题,打造个性化自动休眠计划。记得谨慎操作哦!

热门文章

最新文章