Json 数据格式详解

      JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

JSON有两种表示结构,对象和数组。

对象结构以”{”大括号开始,以”}”大括号结束。中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔。其中关键字是字符串,而值可以是字符串,数值,true,false,null,对象或数组。

    在JavaScript中,关联数组就是对象,对象就是关联数组。这点在PHP中完全不同。在php中,关联数组就是数组。

比如:

var a=[1,2,3,4];

a['foo']='Hello World';

alert(a.length);

最后的结果是4,也就是说,数组a的元素个数是4个。

在PHP中

<?php

$a=array(1,2,3,4);

$a["foo"]="Hello world";

echo count($a);

?>最后的结果是5,也就是说,数组a的元素个数是5个。

 在JavaScript中,Json字符串和Json对象的转换。客户端提交过来的数据一般都是json字符串,有了更好地进行操作(面向对象的方式),所以我们一般都会想办法将json字符串转换为json对象

var str2 = { "name": "deluyi", "sex": "man" };

var str1 = '{ "name": "deyuyi", "sex": "man" }';
Json.parse(字符串);//是Json字符串转换为Json对象。
Json.stringify(对象);
可以使用for…in…循环来遍历JSON对象中的数据,比如我们要遍历输出obj对象的值
function Traversal() {
            for (var c in obj) {
                console.log(c + ":", obj[c]);
            }
        }

在PHP中,json_decode(json_str,option) 把JSON 格式的字符串转换为 PHP数组或对象。option可选,默认false转为对象,true转为数组。
在 php 中使用 json_encode()这个函数的功能是将数值转换成json数据存储格式,例如
<?php
$arr = array(
       'name'=>'刘德华',
       'age' = > 20
        );
$jsonencode = json_encode($str);
echo $jsonecode;
?>
运行的结果如下:
{"Name":null,"Age":20}
json_encode 函数中中文被编码成 null 了,Google 了一下,很简单,为了与前端紧密结合,Json 只支持 utf-8 编码,我认为是前端的 Javascript 也是 utf-8 的原因。解决方法是用urlencode()函数处理以下,在json_encode之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json数据存储格式,最后再用urldecode()将编码过的中文转回来。

转载于:https://www.cnblogs.com/CinderellaBei/p/5011597.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值