在Python中将字符串转换为JSON
在深入研究这个主题之前,让我们先来了解一下字符串和JSON是什么?
字符串: 是一系列使用单引号”表示的字符。它们是不可变的,这意味着一旦声明就不能更改。
JSON: 代表”JavaScript对象标记语言”,JSON文件由文本组成,可以轻松被人类阅读,并以属性-值对的形式存在。
JSON文件的扩展名是”.json”
让我们来看一下在Python中将字符串转换为json的第一种方法。
下面的程序演示了同样的操作。
# converting string to json
import json
# initialize the json object
i_string = {'C_code': 1, 'C++_code' : 26,
'Java_code' : 17, 'Python_code' : 28}
# printing initial json
i_string = json.dumps(i_string)
print ("The declared dictionary is ", i_string)
print ("It's type is ", type(i_string))
# converting string to json
res_dictionary = json.loads(i_string)
# printing the final result
print ("The resultant dictionary is ", str(res_dictionary))
print ("The type of resultant dictionary is", type(res_dictionary))
输出:
The declared dictionary is {'C_code': 1, 'C++_code' : 26,
'Java_code' : 17, 'Python_code' : 28}
It's type is <class 'str'>
The resultant dictionary is {'C_code': 1, 'C++_code' : 26,
'Java_code' : 17, 'Python_code' : 28}
The type of resultant dictionary is <class 'dict'>
解释:
现在是时候看解释,以便我们的逻辑变得清晰-
- 由于这里的目标是将一个字符串转换为json文件,我们首先要导入json模块。
- 下一步是初始化json对象,在其中主题名称被指定为键,然后指定它们的相应值。
- 在此之后,我们使用 dumps() 将Python对象转换为json字符串。
- 最后,我们将使用 loads() 来解析JSON字符串并将其转换为字典。
使用eval()
# converting string to json
import json
# initialize the json object
i_string = """ {'C_code': 1, 'C++_code' : 26,
'Java_code' : 17, 'Python_code' : 28}
"""
# printing initial json
print ("The declared dictionary is ", i_string)
print ("Its type is ", type(i_string))
# converting string to json
res_dictionary = eval(i_string)
# printing the final result
print ("The resultant dictionary is ", str(res_dictionary))
print ("The type of resultant dictionary is ", type(res_dictionary))
输出:
The declared dictionary is {'C_code': 1, 'C++_code' : 26,
'Java_code' : 17, 'Python_code' : 28}
Its type is <class 'str'>
The resultant dictionary is {'C_code': 1, 'C++_code': 26, 'Java_code': 17, 'Python_code': 28}
The type of resultant dictionary is <class 'dict'>
解释:
让我们了解一下上面的程序中所做的事情。
- 由于这里的目标是将字符串转换为json文件,我们首先导入json模块。
- 下一步是初始化json对象,其中我们将科目名称作为键,然后指定其对应的值。
- 然后,我们使用 eval() 将Python字符串转换为json。
- 在执行程序时,它显示所需的输出。
提取值
最后,在最后一个程序中,我们将在将字符串转换为json后提取值。
让我们来看一下吧。
import json
i_dict = '{"C_code": 1, "C++_code" : 26, "Java_code":17, "Python_code":28}'
res = json.loads(i_dict)
print(res["C_code"])
print(res["Java_code"])
输出:
1
17
我们可以在输出中观察到以下内容-
- 我们使用json.loads()函数将字符串转换为json。
- 在此之后,我们使用”C_code”和”Java_code”键来获取它们对应的值。
结论
在本教程中,我们学习了如何使用Python将字符串转换为json。