[英]convert a string containing JavaScript object to a JSON string with PHP
這是javascript對象(只是其中的一小部分):
dataToReturn = {
"dimensionsDisplayType" : [
"dropdown","swatch",
],
"pwEnabledDimensionMap" : {
"size_name": true,
"color_name": true
},
"isPWBadgeEnabled" : true,
"isImmersiveExperience" : false,
"isTabletWeb" : false
}
因此,在PHP中它將如下所示:
<?php
$jsObjStr = '{
"dimensionsDisplayType" : [
"dropdown","swatch",
],
"pwEnabledDimensionMap" : {
"size_name": true,
"color_name": true
},
"isPWBadgeEnabled" : true,
"isImmersiveExperience" : false,
"isTabletWeb" : false
}';
但是如果我們想用json parse解析它,我們就不能在PHP中使用,因為它不是干凈的JSON格式,因為
"dimensionsDisplayType" : [
"dropdown","swatch",
]
包含諸如“ dimensionsDisplayType”之類的對象的鍵可能是不可預測的,因此使用regex進行清理不會有太大幫助。
有效的是
JSON.stringify(dataToReturn)
但就我而言,我無法運行客戶端代碼,因此必須使用PHP在服務器端將其轉換為正確的JSON格式。 我在網上搜索了很多東西,但沒有任何令人滿意的功能或庫。
如何解決呢?
您可以嘗試使用此正則表達式清理字符串,這將查找逗號,后跟可選的空格和close],然后將其替換為內容減去逗號。
$jsObjStr = preg_replace("/,(\s*?])/", "$1", $jsObjStr);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.