json 中的条纹尾迹空格
Striping trail whitespaces in json
我有一个包含 1000 多个条目的大 json 文件。这个 json 被送入下游库进行进一步处理。我正在尝试寻找一种更简单的方法来消除值部分中的所有尾随空格。
{
"Country": [
{
"country_name": "Germany ",
"country_capital": " Berlin",
"concept_description": "Germany is also known as Deutschland ",
"country_cities": [
"Frankfurt"
],
"neighbouring_countries": [
" Belgium",
"France "
],
"country_group": "Europe "
},
{
"country_name": " France ",
"country_capital": " Paris",
"concept_description": "Effiel Tower is in paris ",
"country_cities": [
" montpellier"
],
"neighbouring_countries": [
" Belgium",
"Spain "
],
"country_group": "Europe "
}
]
}
我曾尝试使用 String.strip()
和列表理解来实现此 mylist = [[x.strip() for x in y] for y in mylist]
。但是,某些键的值是列表,有些只是字符串。
你可以有一个递归函数来剥离所有内容吗?
def strip(value):
if isinstance(value, str):
return value.strip()
if isinstance(value, list):
return list(map(strip, value))
# handle dict etc, by recursive call to `strip()`
如果结构一致,例如。 neighbouring_countries
始终是一个列表,您可以使用任何数据验证库。我更喜欢 schema
myself.
我有一个包含 1000 多个条目的大 json 文件。这个 json 被送入下游库进行进一步处理。我正在尝试寻找一种更简单的方法来消除值部分中的所有尾随空格。
{
"Country": [
{
"country_name": "Germany ",
"country_capital": " Berlin",
"concept_description": "Germany is also known as Deutschland ",
"country_cities": [
"Frankfurt"
],
"neighbouring_countries": [
" Belgium",
"France "
],
"country_group": "Europe "
},
{
"country_name": " France ",
"country_capital": " Paris",
"concept_description": "Effiel Tower is in paris ",
"country_cities": [
" montpellier"
],
"neighbouring_countries": [
" Belgium",
"Spain "
],
"country_group": "Europe "
}
]
}
我曾尝试使用 String.strip()
和列表理解来实现此 mylist = [[x.strip() for x in y] for y in mylist]
。但是,某些键的值是列表,有些只是字符串。
你可以有一个递归函数来剥离所有内容吗?
def strip(value):
if isinstance(value, str):
return value.strip()
if isinstance(value, list):
return list(map(strip, value))
# handle dict etc, by recursive call to `strip()`
如果结构一致,例如。 neighbouring_countries
始终是一个列表,您可以使用任何数据验证库。我更喜欢 schema
myself.