在Python中,将字符串转换为字典可以通过以下几种方法实现:
1. 使用`eval()`函数:
```python
string = '{ "name": "John", "age": 30 }'
dictionary = eval(string)
print(dictionary)
2. 使用`json.loads()`函数:
```python
import json
string = '{ "name": "John", "age": 30 }'
dictionary = json.loads(string)
print(dictionary)
3. 使用`ast.literal_eval()`函数:
```python
import ast
string = '{ "name": "John", "age": 30 }'
dictionary = ast.literal_eval(string)
print(dictionary)
4. 使用`ast.literal_eval()`函数处理包含嵌套字典的字符串:
```python
import ast
string = '{ "tech": { "backend_dev": ["Java", "C++", "PHP"], "mobile_dev": ["HTML5", "JavaScript"]}, "product": { "product_manager": ["product_manager", "web_product_manager", "mobile_product_manager", "product_assistant", "data_product_manager", "ecommerce_product_manager", "game_designer", "product_intern"], "product_designer": ["web_product_designer", "wireless_product_designer"]}}'
dictionary = ast.literal_eval(string)
print(dictionary)
请注意,使用`eval()`函数可能存在安全风险,因为它会执行任意的代码。相比之下,`ast.literal_eval()`函数更安全,专门用于字符串到Python字面量的转换,包括字典、列表、元组、字符串、数字和布尔值。