Example of json Data Interaction in php-PHP source code

Source: Internet
Author: User
Ec (2); how to use JSON. PHP5.2 has built-in support for JSON. Of course, if it is earlier than this version, there are many PHP versions available on the market, and it will be OK if you use it next time. Now we mainly talk about the built-in JSON supported by PHP. Very simple: two functions: json_encode and json_decode (similar to serialization ). One encoding and one decoding. Let's take a look at the encoding usage: & lt ;? Php $ arrarray (& nbsp; & script ec (2); script

How to Use JSON. PHP5.2 has built-in support for JSON. Of course, if it is earlier than this version, there are many PHP versions available on the market, and it will be OK if you use it next time. Now we mainly talk about the built-in JSON supported by PHP. Very simple: two functions: json_encode and json_decode (similar to serialization ). One encoding and one decoding. Let's take a look at the encoding usage:
<? Php
$ Arr = array (
'Name' => 'chen yixin ',
'Nick '=> 'deep ary ',
'Contact '=> array (
'Email '=> 'shenkong at qq dot com ',
'Website' => 'HTTP: // www.111cn.net ',
)
);
$ Json_string = json_encode ($ arr );
Echo $ json_string;
?>
Simply put an array in JSON format. It should be noted that, in non-UTF-8 encoding, Chinese characters will not be encode, the results will be null, So if you use gb2312 to write PHP code, then we need to use iconv or mb to convert the content containing Chinese characters into a UTF-8 and then perform json_encode. The above output result is as follows:
{"Name": "u9648u6bc5u946b", "nick": "u6df1u7a7a", "contact": {"email": "shenkong at qq dot com", "website ": "http://www.111cn.net "}}
I have said that it is similar to serialization. You still don't believe it. Decoding is required after encoding. PHP provides the corresponding function json_decode. After json_decode is executed, an object is obtained. The operation is as follows:
<? Php
$ Arr = array (
'Name' => 'chen yixin ',
'Nick '=> 'deep ary ',
'Contact '=> array (
'Email '=> 'shenkong at qq dot com ',
'Website' => 'HTTP: // www.111cn.net ',
)
);
$ Json_string = json_encode ($ arr );
$ Obj = json_decode ($ json_string );
Print_r ($ obj );
?>
Will access the attributes in the object? $ Obj-> name. Of course, you can also index the array to facilitate the call:
$ Json_string = json_encode ($ arr );
$ Obj = json_decode ($ json_string );
$ Arr = (array) $ obj;
Print_r ($ arr );
PHP transfer and transfer are not very useful. In addition to cache generation, it feels better to store arrays directly. However, when you interact with the front-end, the function will come out, let's take a look at how I use the Javascr ī pt to use this character:

Var arr = {"name": "u9648u6bc5u946b", "nick": "u6df1u7a7a", "contact": {"email": "shenkong at qq dot com ", "website": http://www.111cn.net }};
Alert (arr. name)

In the above example, the string is directly assigned to a variable, and it becomes a sort Cr sort pt array (specialized terms should not be called arrays, but due to the habits of PHP, I have been calling Arrays for ease of understanding ). In this way, you can easily traverse the arr or do whatever you want. It seems that AJAX is not mentioned here? Yes. In retrospect, if the responseText returned by the server uses a JSON string instead of XML, is it very convenient for the frontend to process the response Cr platinum pt? Dog Skin plaster is used in this way.
As a matter of fact, apart from the different storage formats of data, there is no big difference between JSON and XML. Although it does not have much to do with XML, it can indicate a wider range of JSON applications, that is, cross-Origin data calls. Due to security issues, AJAX does not support cross-origin calls. Therefore, it is very troublesome to call data under different domain names, although there is a solution (stone mentioned proxy in his lecture. Although he doesn't understand it, he knows it can solve it ). I wrote two files to demonstrate cross-origin calls.
Access key file index.html

Function getProfile (str ){
Var arr = str;
Document. getElementById ('Nick '). innerHTML = arr. nick;
}



Profile. php
<? Php
$ Arr = array (
'Name' => 'chen yixin ',
'Nick '=> 'deep ary ',
'Contact '=> array (
'Email '=> 'shenkong at qq dot com ',
'Website' => 'HTTP: // www.111cn.net ',
)
);
$ Json_string = json_encode ($ arr );
Echo "getProfile ($ json_string )";
?>
Obviously, when index.html calls profile. php, The JSON string is generated and passed into getProfile as a parameter, and then the nickname is inserted into p. This completes a cross-Origin data interaction.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.