JSON空格转义(php、javascript)

用input控件,存储json数据时,字符串有空格时报错,解决方法:

进行空格转义。

.js文件(javascript):

var jsonData = JSON.stringify(data).replace(/\s/g," ");

var rowData =" <input type='hidden' class='json_data' value="+ jsonData+">";

.php文件:

<?php

$formatJson = str_replace(' ','&nbsp;',\Zend\Json\Json::encode($data));
echo '<input type="hidden" class="json_data" value='.$formatJson.'>';

?>

php

JavaScript中,使用JSON.stringify()方法时,如果要将JSON对象转换为字符串时出现空格报错的问题,可以通过以下几种方法来解决: 1. 使用转义字符:在引用中提到,可以使用双引号将字符串包装起来,例如`"null"`,而不是直接使用变量名,如`row.userName`。这样可以避免空格报错的问题。 2. 使用正则表达式去除空格:可以使用正则表达式`/\s*/g`,将字符串内的所有空格去除,例如`str = str.replace(/\s*/g, "");`。但是需要注意,这种方法可能会导致数据不准确,特别是对于时间字符串等需要保持格式的情况。 3. 控制缩进和空格JSON.stringify()方法的第三个参数可以控制缩进和空格的格式。可以指定数值来表示每一级缩进的空格数。例如,可以使用`JSON.stringify(json1, null, 4)`来设置每级缩进为4个空格。 总结来说,为了避免JSON.stringify()方法出现空格报错的问题,可以选择使用转义字符或控制缩进和空格的参数来处理。同时,需要根据具体情况判断是否需要使用正则表达式去除空格,以保证数据的准确性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [你会用 JSON.stringify()? JSON.stringify一些坑](https://blog.csdn.net/qq_34648151/article/details/119143921)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [js函数的参数JSON.stringify(row)中含有空格时出错的解决办法](https://blog.csdn.net/qq_34620838/article/details/102607102)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值