PHP json_encode() 用于对变量举行 JSON 编码,该函数假如实行胜利返回 JSON 数据,不然返回 FALSE 。
语法
string json_encode ( $value [, $options = 0 ] )
参数
value: 要编码的值。该函数只对 UTF-8 编码的数据有用。
options:由以下常量构成的二进制掩码:JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK,JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT
示例:字符串数组转为json对象
定义一个数组,挪用json_encode要领将数组编码为json花样的字符串,这里须要注重json_encode要领的返回值不是一个JSON对象而是JSON花样字符串,假如要转换成json对象,须要在后面到场参数true。
末了转成json后须要将输出编码后的json花样的字符串:
输出:
引荐进修:php教程
以上就是php中字符串数组怎样转为json对象?的细致内容,更多请关注ki4网别的相干文章!
收藏 | 0
字符串转对象(strJSON代表json字符串) var obj = eval(strJSON); var obj = strJSON.parseJSON(); var obj = JSON.parse(strJSON); json对象转字符串(obj代表json对象) var str = obj....
JS中:
json格式字符串转json对象(strJSON代表json字符串)
var obj = eval(strJSON);
var obj = strJSON.parseJSON();
var obj = JSON.parse(strJSON);
json对象转json格式字符串(obj代表json对象)
var str = obj.toJSONString();
var str = JSON.stringify(obj)
运用时候需要除了eval()以外,其他的都需要引入json.js包,切记!!!
PHP中:
1、json_encode():
1.1、将php数组转换为json字符串
1、索引数组

$arr= Array('one','two','three');
echojson_encode($arr);

输出

["one","two","three"]

2、关联数组:

$arr= Array('1'=>'one','2'=>'two','3'=>'three');
echojson_encode($arr);

输出变为

{"1":"one","2":"two","3":"three"}

1.2、将php类转换为json字符串

classFoo {
constERROR_CODE ='404';
public$public_ex='this is public';
private$private_ex='this is private!';
protected$protected_ex='this should be protected';
publicfunctiongetErrorCode() {
returnself::ERROR_CODE;
}
}

现在,对这个类的实例进行json转换:

$foo=newFoo;
$foo_json= json_encode($foo);
echo$foo_json;

输出结果是

{"public_ex":"this is public"}

2、json_decode():
将json文本转换为相应的PHP数据结构
2.1、通常情况下,json_decode()总是返回一个PHP对象,而不是数组比如:

$json='{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));

结果就是生成一个PHP对象:

object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}

2.2、如果想要强制生成PHP关联数组,json_decode()需要加一个参数true:

$json='{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json,true));

结果就生成了一个关联数组:

array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}

3、json_decode()的常见错误
下面三种json写法都是错的

$bad_json="{ 'bar': 'baz' }";
$bad_json='{ bar: "baz" }';
$bad_json='{ "bar": "baz", }';

对这三个字符串执行json_decode()都将返回null,并且报错。
第一个的错误是,json的分隔符(delimiter)只允许使用双引号,不能使用单引号。
第二个的错误是,json名值对的"名"(冒号左边的部分),任何情况下都必须使用双引号。
第三个的错误是,最后一个值之后不能添加逗号(trailing comma)。
另外,json只能用来表示对象(object)和数组(array),如果对一个字符串或数值使用json_decode(),将会返回null。

var_dump(json_decode("Hello World"));//null

怎么使用php中字符串数组转为json对象发布时间:2020-07-16 14:06:27来源:亿速云阅读:81作者:Leah这篇文章将为大家详细讲解有关怎么使用php中字符串数组转为json对象,文章内容质量较高,因此小编分享给大家做个...
怎么使用php中字符串数组转为json对象
发布时间:2020-07-16 14:06:27
来源:亿速云
阅读:81
作者:Leah
这篇文章将为大家详细讲解有关怎么使用php中字符串数组转为json对象,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在PHP中,可以使用json_encode(字符串数组,true)方法来将字符串数组转为json对象。注意:json_encode的默认返回值不是JSON对象,而是JSON格式字符串;如果要转换成json对象,需要在后面加入参数true。
PHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。
语法string json_encode ( $value [, $options = 0 ] )
参数value: 要编码的值。该函数只对 UTF-8 编码的数据有效。
options:由以下常量组成的二进制掩码:JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK,JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT
示例:字符串数组转为json对象
定义一个数组,调用json_encode方法将数组编码为json格式的字符串,这里需要注意json_encode方法的返回值不是一个JSON对象而是JSON格式字符串,如果要转换成json对象,需要在后面加入参数true。
最后转成json后需要将输出编码后的json格式的字符串:
输出:
关于怎么使用php中字符串数组转为json对象就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
数组:Array([0] => Array([productid] => 2[cateid] => 4[title] => 衣[descr] => 吖吖吖吖吖吖吖吖吖吖吖吖吖吖吖吖吖吖吖吖吖[num] => 197[price] => 888.00[cover] => 7xpizy....
数组:
Array
[0] => Array
[productid] => 2
[cateid] => 4
[title] => 衣
[descr] => 吖吖吖吖吖吖吖吖吖吖吖吖吖吖吖吖吖吖吖吖吖
[num] => 197
[price] => 888.00
[cover] => 7xpizy.com1.z0.glb.clouddn.com/58087fa893aa7
[pics] => {"58087faa67f8b":"7xpizy.com1.z0.glb.clouddn.com\/58087faa67f8b"}
[issale] => 1
[saleprice] => 799.00
[ishot] => 1
[istui] => 1
[ison] => 1
[createtime] => 0
json :
[{"productid":"2","cateid":"4","title":"\u8863","descr":"\u5416\u5416\u5416\u5416\u5416\u5416\u5416\u5416\u5416\u5416\u5416\u5416\u5416\u5416\u5416\u5416\u5416\u5416\u5416\u5416\u5416","num":"197","price":"888.00","cover":"7xpizy.com1.z0.glb.clouddn.com\/58087fa893aa7","pics":"{\"58087faa67f8b\":\"7xpizy.com1.z0.glb.clouddn.com\\\/58087faa67f8b\"}","issale":"1","saleprice":"799.00","ishot":"1","istui":"0","ison":"1","createtime":"0"}]
数组中的 pics 本来就是json了,然后 json_encode 后在js中JSON.parse 会报错:
Unexpected number in JSON at position 169