字符串转JSON的三种常见方式-方法对比与使用场景

2025-05-01 29

Image

在编程中,将字符串转换为JSON对象是常见操作,以下是三种主流语言的实现方式:


1. JavaScript

// 方式1:JSON.parse()(最常用)
const jsonStr = '{"name":"Alice","age":25}';
const jsonObj = JSON.parse(jsonStr);
console.log(jsonObj.name); // 输出: Alice

// 方式2:eval()(不推荐,存在安全风险)
const unsafeObj = eval('(' + jsonStr + ')'); 

// 方式3:第三方库(如 jQuery)
// const obj = $.parseJSON(jsonStr); // jQuery 3.0+ 已弃用

2. Python

import json

# 方式1:json.loads()
json_str = '{"name": "Bob", "age": 30}'
json_obj = json.loads(json_str)
print(json_obj["name"])  # 输出: Bob

# 方式2:ast.literal_eval(处理简单JSON,比eval安全)
import ast
safe_obj = ast.literal_eval(json_str)

# 方式3:demjson(第三方库,容错性强)
# pip install demjson
# import demjson
# obj = demjson.decode(json_str)

3. Java

import org.json.JSONObject; // 需引入 org.json 库

// 方式1:org.json 库
String jsonStr = "{\"name\":\"Charlie\",\"age\":20}";
JSONObject jsonObj = new JSONObject(jsonStr);
System.out.println(jsonObj.getString("name")); // 输出: Charlie

// 方式2:Gson(Google库)
// Gson gson = new Gson();
// MyClass obj = gson.fromJson(jsonStr, MyClass.class);

// 方式3:Jackson(Spring生态常用)
// ObjectMapper mapper = new ObjectMapper();
// MyClass obj = mapper.readValue(jsonStr, MyClass.class);

注意事项:

  1. 安全性:避免使用 eval()(JS/Python),可能执行恶意代码。
  2. 格式校验:确保字符串是合法JSON,否则会抛出异常。
  3. 性能:大数据量时,Jackson/Gson(Java)或内置库(Python/JS)更高效。

根据语言和场景选择合适的方法即可。

// 来源:https://www.nzw6.com

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!cheeksyu@vip.qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
5.严禁将资源用于任何违法犯罪行为,不得违反国家法律,否则责任自负,一切法律责任与本站无关