本人在调用AI接口时,生产“str”文本需要转化为JSON格式,但苦于缺乏经验,在经过长时间的摸索后总结出一系列规律:
假设接口返回
、、、
json格式
{
Nation : the People's Republic of China,
Force : People's Liberation Army,
Motto :Defend and Build the Motherland,
}
、、、
对其检验,结果
type(content) = str
下面使用代码将其转化成真正的JSON格式
import json
def chinese_text_to_json_excluding_braces(text):
content_within_braces = []
inside_braces = False
for char in text:
if char == '{':
inside_braces = True
elif char == '}':
inside_braces = False
elif inside_braces:
content_within_braces.append(char)
content_string = ''.join(content_within_braces)
return json.dumps({"content": content_string}, ensure_ascii=False)
print(chinese_text_to_json_excluding_braces(content))
其中,此代码的原理在于,依据花括号{},去除最外端花括号以外的内容,保留花括号及以内的内容,输出结果如下:
{"content": "\nNation : the People's Republic of China\nForce : People's Liberation Army\nMotto :Defend and Build the Motherland\n"}
可见,结果将其规整于同一行,但如果要求还原其原本形式,可以参考下文,本文不再赘述。