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

WBOY
Freigeben: 2023-03-02 06:42:01
Original
1336 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 :

<code class="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"}]</code>
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 :

<code class="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"}]</code>
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

<code class="php">$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));</code>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage