这是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解析它,由于
,它不是干净的JSON格式,因此我们无法在PHP中使用"dimensionsDisplayType" : [
"dropdown","swatch",
]
包含诸如“ dimensionsDisplayType”之类的对象的键可能是不可预测的,因此使用regex进行清理将无济于事。
有效的是
JSON.stringify(dataToReturn)
但是对于我而言,我无法运行客户端代码,因此必须使用PHP在服务器端将其转换为正确的JSON格式。我在网上搜索了很多东西,但没有任何令人满意的功能或库。
如何解决?
答案 0 :(得分:0)
您可以尝试使用此正则表达式清除字符串,这将查找逗号,后跟可选的空格和close],然后将其替换为内容减去逗号...
$jsObjStr = preg_replace("/,(\s*?])/", "$1", $jsObjStr);