1 前言
json
是 Python 内置模块,用于处理 JSON(JavaScript Object Notation)数据格式。JSON 是一种轻量级的数据交换格式,广泛用于 Web 开发和 API 通信。
2 Json与Python对象互转
2.1 Python对象转字符串
indent
:设置缩进,便于阅读。
separators
:自定义键值对之间的分隔符。
ensure_ascii
:默认为 True
,将非 ASCII 字符转为 Unicode。设置为 False
时可以直接输出中文。
import json
data = dict(
id=1,
name="有勇气的的牛排",
url="www.couragesteak.com",
desc="全栈\n开发",
tag=["Python", "Java"]
)
json_str = json.dumps(data, ensure_ascii=False)
print(json_str)

2.2 json 字符串解析为Python对象
import json
data = dict(name="有勇气的的牛排", desc="全栈\n开发")
json_str = json.dumps(data, ensure_ascii=False)
with open('test.txt', 'w') as f:
f.write(json_str)
f.close()
json_str_txt = ""
with open('test.txt', 'r') as f:
json_str_txt = f.read()
file_json = json.loads(json_str_txt)
print(file_json)

<h2><a id="1__0"></a>1 前言</h2>
<p><code>json</code> 是 Python 内置模块,用于处理 JSON(JavaScript Object Notation)数据格式。JSON 是一种轻量级的数据交换格式,广泛用于 Web 开发和 API 通信。</p>
<h2><a id="2_JsonPython_6"></a>2 Json与Python对象互转</h2>
<h3><a id="21_Python_8"></a>2.1 Python对象转字符串</h3>
<p><code>indent</code>:设置缩进,便于阅读。</p>
<p><code>separators</code>:自定义键值对之间的分隔符。</p>
<p><code>ensure_ascii</code>:默认为 <code>True</code>,将非 ASCII 字符转为 Unicode。设置为 <code>False</code> 时可以直接输出中文。</p>
<pre><div class="hljs"><code class="lang-python"><span class="hljs-keyword">import</span> json
data = <span class="hljs-built_in">dict</span>(
<span class="hljs-built_in">id</span>=<span class="hljs-number">1</span>,
name=<span class="hljs-string">"有勇气的的牛排"</span>,
url=<span class="hljs-string">"www.couragesteak.com"</span>,
desc=<span class="hljs-string">"全栈\n开发"</span>,
tag=[<span class="hljs-string">"Python"</span>, <span class="hljs-string">"Java"</span>]
)
json_str = json.dumps(data, ensure_ascii=<span class="hljs-literal">False</span>)
<span class="hljs-built_in">print</span>(json_str)
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/4c7621e69f78d2c8253c73b1049fd5a9.png" alt="Python对象转字符串" /></p>
<h3><a id="22_json_Python_33"></a>2.2 json 字符串解析为Python对象</h3>
<pre><div class="hljs"><code class="lang-python"><span class="hljs-keyword">import</span> json
data = <span class="hljs-built_in">dict</span>(name=<span class="hljs-string">"有勇气的的牛排"</span>, desc=<span class="hljs-string">"全栈\n开发"</span>)
json_str = json.dumps(data, ensure_ascii=<span class="hljs-literal">False</span>)
<span class="hljs-keyword">with</span> <span class="hljs-built_in">open</span>(<span class="hljs-string">'test.txt'</span>, <span class="hljs-string">'w'</span>) <span class="hljs-keyword">as</span> f:
f.write(json_str)
f.close()
json_str_txt = <span class="hljs-string">""</span>
<span class="hljs-keyword">with</span> <span class="hljs-built_in">open</span>(<span class="hljs-string">'test.txt'</span>, <span class="hljs-string">'r'</span>) <span class="hljs-keyword">as</span> f:
json_str_txt = f.read()
file_json = json.loads(json_str_txt)
<span class="hljs-built_in">print</span>(file_json)
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/7a9a8a0e779c6b400fbc8591ff5f09da.png" alt="json 字符串解析为Python对象" /></p>
留言