[英]How to string replace a symbol from array and split?
我有
$dataSavedBlocks = get_user_meta( $user_id, 'jsonBlock');
var_dump($dataSavedBlocks);
这使:
array(1) { [0]=> string(534) "{"date":"3/25/20","ricoverati_con_sintomi":999,"terapia_intensiva":251,"totale_ospedalizzati":1250,"isolamento_domiciliare":1526,"totale_attualmente_positivi":2776,"nuovi_attualmente_positivi":257,"dimessi_guariti":54,"deceduti":142,"totale_casi":2972,"tamponi":17868} | ,{"date":"3/25/20","ricoverati_con_sintomi":82,"terapia_intensiva":19,"totale_ospedalizzati":101,"isolamento_domiciliare":311,"totale_attualmente_positivi":412,"nuovi_attualmente_positivi":17,"dimessi_guariti":12,"deceduti":18,"totale_casi":442,"tamponi":3019} | " }
我试过:
$dataSavedBlocks = get_user_meta( $user_id, 'jsonBlock');
$dataCustom = implode("| ,", $dataSavedBlocks[0]);
$dataCustom = str_replace("| ,",",",$dataCustom);
$dataCustom = explode(",", $dataCustom);
var_dump($dataCustom);
我得到:
Warning: implode(): Invalid arguments passed in ...
array(1) { [0]=> string(0) "" }
我需要一个正确的 json 来在 js 中解析它:
var customJsonData = JSON.parse('<?php echo $dataCustom; ?>');
但我有| ,
| ,
作为分隔符,我在保存时不能出于其他原因排除它。 我究竟做错了什么?
您需要做的就是更换|
使用空字符串并将结果包装在方括号中:
$jsonBlock = '{"date":"3/25/20","ricoverati_con_sintomi":999,"terapia_intensiva":251,"totale_ospedalizzati":1250,"isolamento_domiciliare":1526,"totale_attualmente_positivi":2776,"nuovi_attualmente_positivi":257,"dimessi_guariti":54,"deceduti":142,"totale_casi":2972,"tamponi":17868} | ,{"date":"3/25/20","ricoverati_con_sintomi":82,"terapia_intensiva":19,"totale_ospedalizzati":101,"isolamento_domiciliare":311,"totale_attualmente_positivi":412,"nuovi_attualmente_positivi":17,"dimessi_guariti":12,"deceduti":18,"totale_casi":442,"tamponi":3019} | ';
$json = '[' . str_replace(' | ', '', $jsonBlock) . ']';
var_dump($json);
结果将是:
string(530) "[{"date":"3/25/20","ricoverati_con_sintomi":999,"terapia_intensiva":251,"totale_ospedalizzati":1250,"isolamento_domiciliare":1526,"totale_attualmente_positivi":2776,"nuovi_attualmente_positivi":257,"dimessi_guariti":54,"deceduti":142,"totale_casi":2972,"tamponi":17868},{"date":"3/25/20","ricoverati_con_sintomi":82,"terapia_intensiva":19,"totale_ospedalizzati":101,"isolamento_domiciliare":311,"totale_attualmente_positivi":412,"nuovi_attualmente_positivi":17,"dimessi_guariti":12,"deceduti":18,"totale_casi":442,"tamponi":3019}]"
const json = JSON.parse('[{"date":"3/25/20","ricoverati_con_sintomi":999,"terapia_intensiva":251,"totale_ospedalizzati":1250,"isolamento_domiciliare":1526,"totale_attualmente_positivi":2776,"nuovi_attualmente_positivi":257,"dimessi_guariti":54,"deceduti":142,"totale_casi":2972,"tamponi":17868},{"date":"3/25/20","ricoverati_con_sintomi":82,"terapia_intensiva":19,"totale_ospedalizzati":101,"isolamento_domiciliare":311,"totale_attualmente_positivi":412,"nuovi_attualmente_positivi":17,"dimessi_guariti":12,"deceduti":18,"totale_casi":442,"tamponi":3019}]'); console.log(json);
JS可以处理字符串
const str = `{"date":"3/25/20","ricoverati_con_sintomi":999,"terapia_intensiva":251,"totale_ospedalizzati":1250,"isolamento_domiciliare":1526,"totale_attualmente_positivi":2776,"nuovi_attualmente_positivi":257,"dimessi_guariti":54,"deceduti":142,"totale_casi":2972,"tamponi":17868} | ,{"date":"3/25/20","ricoverati_con_sintomi":82,"terapia_intensiva":19,"totale_ospedalizzati":101,"isolamento_domiciliare":311,"totale_attualmente_positivi":412,"nuovi_attualmente_positivi":17,"dimessi_guariti":12,"deceduti":18,"totale_casi":442,"tamponi":3019} | " }` .replace(/\\|/g,"").replace(/ " }/,"") console.log(JSON.parse("["+str+"]"))
这是我必须做的和工作的
<?php
$user_id = get_current_user_id();
$dataSavedBlocks = get_user_meta( $user_id, 'jsonBlock');
$dataCustom = json_encode($dataSavedBlocks[0]);
$dataCustom = str_replace('|', '', $dataCustom);
$dataCustom = stripslashes($dataCustom);
?>
js
var myJson = '<?php echo $dataCustom; ?>';
var result = myJson.substring(1, myJson.length-1);
var customJsonData = JSON.parse("["+result+"]");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.