js 字符串转json数组 " 转义
时间: 2023-09-24 17:06:19 浏览: 126
可以使用JSON.parse()方法将字符串转换为JSON数组。例如:
```
var str = '[{"name":"Tom","age":18},{"name":"Jerry","age":20}]';
var arr = JSON.parse(str);
console.log(arr); // [{"name":"Tom","age":18},{"name":"Jerry","age":20}]
```
相关问题
php json_encode 去除转义的"
如果你想要在 PHP 中使用 `json_encode` 函数时去除转义的 `"`,可以使用 `JSON_UNESCAPED_SLASHES` 和 `JSON_UNESCAPED_UNICODE` 参数来实现。具体方法如下:
```php
// 定义一个包含 " 的数组
$arr = array('name' => 'John', 'message' => 'Hello "world"');
// 使用 json_encode 函数将数组转换为 JSON 格式的字符串,去除转义的 "
$json_str = json_encode($arr, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
echo $json_str;
```
输出结果如下:
```
{"name":"John","message":"Hello \"world\""}
```
可以看到,字符串中的 `"` 已经被转换成了双引号 `"`, 并且没有被转义。
java前台ajax发送JSON字符串,后台接收参数后双引号变成"
在Java中,当通过Ajax从前端向后台发送JSON字符串时,前端通常会序列化数据为JSON格式,例如使用JavaScript的`JSON.stringify()`方法。如果JSON字符串中含有双引号 `"`,它会被自动转义为 `\``"``,因为JSON规范要求键值对中的双引号作为字符的一部分而不能直接使用。
例如,原始的JavaScript代码可能是这样的:
```javascript
var jsonString = '{"name": "John \"Doe\""}';
$.ajax({
type: 'POST',
url: '/api/endpoint',
data: JSON.stringify(jsonString),
contentType: 'application/json',
success: function(response) {
//...
}
});
```
当这个请求到达Java后台,如果你使用的是如Spring MVC等框架处理,它会接收到类似下面的JSON数据:
```json
{
"name": "John \\"Doe\\""
}
```
这里,`\"Doe\"` 的双引号实际上已经被替换成了 `\``"``。在后台解析JSON时,需要正确地反序列化并处理这些转义字符。在Spring中,可以使用`@RequestBody`注解以及`org.springframework.util.JSONUtils.unparseObject`方法来解析这种字符串。
阅读全文