繁体   English   中英

找到JSON无效字符

[英]JSON invalid character found

我有一个MySQL查询,以便从数据库中获取一些记录。 然后,在循环中,我有一个PHP数组,最后有json_encode() PHP函数。 我从数据库获取的值具有一些HTML标记,因此json_encode()无法正常工作。

请看一下示例代码:

$pr_arr['products'][] = array(
                "id"                => $results_products->id,
                "business_id"       => $results_products->business_id,
                "pid"               => $results_products->pid,
                "category"          => $results_products->category,
                "style_mapping"     => $results_products->style_mapping,
                "name"              => $product_name,
                "price"             => $price,
                "offer_price"       => $offer_price,
                "product_link"      => $product_link,
                "image_url"         => $product_image,
                "size"              => $results_products->size,
                "manufacturer"      => $product_manufacturer,
                "description"       => $product_description,
                "color"             => $results_products->color,
                "sku"               =>  $results_products->sku,
                "mpn"               => $results_products->mpn,
                "instock"           => $results_products->instock,
                "availability"      => $results_products->availability,
                "date_added"        => $results_products->date_added
            );

$product_description是有问题的那个。 如果我注释此行代码,则JSON有效且正确!

我从https://jsonlint.com/中看到的验证(如果我在浏览器中查看,则为:):

"manufacturer":"combos","description":"
\\\\n\tv-\u03bb\u03b1\u03b9\u03bc\u03cc\u03ba\u03bf\u03c8\u03b7<\/li>
\\\\n\t\u03c0\u03b1\u03c4\u03b9\u03bb\u03ad\u03c4\u03b1 \u03bc\u03b5 \u03ba\u03bf\u03c5\u03bc\u03c0\u03b9\u03ac<\/li>
\\\\n\t\u03bc\u03b1\u03bd\u03c3\u03ad\u03c4\u03b5\u03c2 \u03ba\u03b1\u03b9 \u03c3\u03c4\u03c1\u03af\u03c6\u03c9\u03bc\u03b1 \u03c3\u03b5 rib \u03c0\u03bb\u03ad\u03be\u03b7<\/li>
regular fit<\/li>

我读到,当您打开双引号时,我需要将所有内容都放在同一行中。 但是没有,我已经尝试过了。 我试图用空格替换新行,转义特殊字符(\\ n,\\ r,\\ t等)

有人可以告诉我如何解决此问题,以便我可以在JSON中帮助描述(带有HTML标记)吗?

提前致谢!

尝试在您的json_encode命令中添加标志json_encode($yourArrayVar, JSON_HEX_QUOT | JSON_HEX_TAG); json_encode($yourArrayVar, JSON_HEX_APOS | JSON_HEX_TAG); 还要尝试将其与Anis Hikmat Abu-hmiad标志混合使用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM