Heim > Backend-Entwicklung > PHP-Tutorial > Die Verwendung von php_encode für ein PHP-Array und die anschließende Verwendung von JSON.parse zum Konvertieren in ein JS-Objekt führt zu einem Fehler (zuvor war einer der Werte im Array ein JSON-String).

Die Verwendung von php_encode für ein PHP-Array und die anschließende Verwendung von JSON.parse zum Konvertieren in ein JS-Objekt führt zu einem Fehler (zuvor war einer der Werte im Array ein JSON-String).

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2023-03-02 06:42:01
Original
1380 Leute haben es durchsucht

数组:

<code>
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
        )

)</code>
Nach dem Login kopieren
Nach dem Login kopieren

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"}]
Nach dem Login kopieren
Nach dem Login kopieren

数组中的 pics 本来就是json了,然后 json_encode 后在js中 JSON.parse 会报错:

<code>Unexpected number in JSON at position 169</code>
Nach dem Login kopieren
Nach dem Login kopieren

回复内容:

数组:

<code>
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
        )

)</code>
Nach dem Login kopieren
Nach dem Login kopieren

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"}]
Nach dem Login kopieren
Nach dem Login kopieren

数组中的 pics 本来就是json了,然后 json_encode 后在js中 JSON.parse 会报错:

<code>Unexpected number in JSON at position 169</code>
Nach dem Login kopieren
Nach dem Login kopieren

对原数组进行处理,json部分转成数组

<code>$arr = Array(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
        )
    );

foreach($arr as $k=>$v){
    $arr[$k]['pics'] = array(json_decode($arr[$k]['pics'],true));
}
echo json_encode($arr);</code>
Nach dem Login kopieren
<code>[{"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,"cover":"7xpizy.com1.z0.glb.clouddn.com\/58087fa893aa7","pics":[{"58087faa67f8b":"7xpizy.com1.z0.glb.clouddn.com\/58087faa67f8b"}],"issale":1,"saleprice":799,"ishot":1,"istui":1,"ison":1,"createtime":0}]</code>
Nach dem Login kopieren

$arr = [[
        
            '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,
        

]];

$arr[0]['pics'] = json_decode($arr[0]['pics'],true);

$json=json_encode($arr);

//以下为js 正常输出
var json='<?php echo $json;?>';
console.log(JSON.parse(json));
Nach dem Login kopieren
Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
Holen: JSON-Daten übertragen
Aus 1970-01-01 08:00:00
0
0
0
MySQL-Speicher-JSON-Fehler
Aus 1970-01-01 08:00:00
0
0
0
Finden Sie passende Ganzzahlen in JSON.
Aus 1970-01-01 08:00:00
0
0
0
PHP-JSON-Konvertierung
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage