码迷,mamicode.com
首页 > Web开发 > 详细

json

时间:2015-06-18 19:11:38      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

json

json

概括

http://jsonlint.com/ 判断 json 语法是否正确

[name] = "eric";
[age] = 24

{
  "name": "eric",
  "age": 24
}



[first][name] = "eric";
[first][age] = 24;

[second][name] = "yuanhe";
[second][age] = 24;

{
  "first": {
    "name": "eric",
    "age": 24
  },
  "second": {
    "name": "yuanhe",
    "age": 24
  }
}
数组
{
   "user": [
     {
       "name": NAME1,
       "id": ID1,
     },
     {
       "name": NAME2,
       "id": ID2,
     },
]
}

一维数组

$arr1 = array();
$arr1[‘username‘] = ‘test‘;
$arr1[‘age‘] = 24;
$jsonObj1 = json_encode($arr1);
// {"username":"test","age":24}

二维数组

$arr2 = array();
$arr2[‘member‘][‘one‘][‘username‘] = ‘test1‘;
$arr2[‘member‘][‘one‘][‘age‘] = 26;
$arr2[‘member‘][‘two‘][‘username‘] = ‘test2‘;
$arr2[‘member‘][‘two‘][‘age‘] = 28;
$jsonObj2 = json_encode($arr2);
//  {"member":{"one":{"username":"test1","age":26},"two":{"username":"test2","age":28}}}
  • class 类型
class test {
    public $name = "public Name";
    protected $ptName = "proctected Name";
    private $pName = "private Name";

    public function getName() {
        return $this->name;
    }
}

$testObj = new test();
$jsonObj3 = json_encode($testObj);
// {"name":"public Name"}      # 只有共有变量

json 到 php 变量类型

$jsonStr = ‘{"key": "value", "key1": "value1"}‘;
$jsonArr = json_decode($jsonStr);
var_dump($jsonArr);      // 对象类型

// object(stdClass)[2]
//   public ‘key‘ => string ‘value‘ (length=5)
//   public ‘key1‘ => string ‘value1‘ (length=6)

$realJsonArr = json_decode($jsonStr, true);
var_dump($realJsonArr);  // 数组类型

// array (size=2)
//   ‘key‘ => string ‘value‘ (length=5)
//   ‘key1‘ => string ‘value1‘ (length=6)

js 解析 json

var jsondata = "{"arr": [{ "name": "NAME1", "id": "ID1" }, { "name": "NAME2", "id": "ID2" }, ]}";

var jsonobj = JSON.parse(jsondata);
alert(jsonobj.arr[0].name);        // NAME1

php 和 json

..
$members[‘abc‘][‘name‘] = ‘namename‘;
echo json_encode($members);
..
..
$.getJSON(url, data, function(res) {
    alert(res[‘abc‘][‘name‘]);          # 结果是一样的
    alert(res.abc.name);                # 结果是一样的
});
..
{"1":{"username":"admin1","groupname":"admin1","uid":"1"},
 "2":{"username":"admin2","groupname":"admin2","uid":"2"},}

$members[‘1‘][‘username‘] = ‘admin1‘;
$members[‘1‘][‘groupname‘] = ‘admin1‘;
$members[‘1‘][‘uid‘] = ‘1‘;

$members[‘2‘][‘username‘] = ‘admin2‘;
$members[‘2‘][‘groupname‘] = ‘admin2‘;
$members[‘2‘][‘uid‘] = ‘2‘;

alert(res[1][username]);   # 成功
alert(res.1.username);     # *失败*
alert(res.‘1‘.username);   # *失败*

json

标签:

原文地址:http://www.cnblogs.com/sunznx/p/4586640.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!