Reputation: 665
I have a lot of files obviously stemming from some web publishing system (unidentified) and want to convert them to plain text. The file format is characterised by a lot of curly braces, square brackets, and semicolons and contains formatting instructions besides the text. A sample file looks like this
{"content":[{"type":"paragraph","attributes":{"class":"align-left"},"content":["У Посольстві України в Республіці Польща 8 листопада було підписано Угоду між урядом України та урядом Монголії про взаємне скасування віз."]},{"type":"paragraph","attributes":{"class":"align-left"},"content":["“Ми підписали угоду, яка дозволяє громадянам України подорожувати без віз до Монголії. Це означає, що громадяни України можуть в’їжджати до Монголії без віз на 90 днів упродовж 180 днів” - ",{"type":"link","attributes":{"href":"https://www.facebook.com/UkraineMFA/posts/2498886686831903","target":"_blank","rel":null},"content":["повідомляє сторінка МЗС у Facebook"]}," із посиланям на посла України у Польщі Андрія Дещицю."]},{"type":"paragraph","attributes":{"class":"align-left"},"content":["Як підкреслив Дещиця, підписана угода важлива ще й тому, що до сьогоднішнього дня між Україною і Монголією діяла угода 1979 року, яка була підписана свого часу між СРСР і Монгольською Народною Республікою, а потім була підтверджена українським урядом."]}]}
What kind of file format is this? Is there a readily available converter to plain text or some documentation on that file format available?
Upvotes: 0
Views: 151
Reputation: 185161
A more readable way, is to use yaml
format:
$ yq -p json -o yaml file
content:
- type: paragraph
attributes:
class: align-left
content:
- У Посольстві України в Республіці Польща 8 листопада було підписано Угоду між урядом України та урядом Монголії про взаємне скасування віз.
- type: paragraph
attributes:
class: align-left
content:
- '“Ми підписали угоду, яка дозволяє громадянам України подорожувати без віз до Монголії. Це означає, що громадяни України можуть в’їжджати до Монголії без віз на 90 днів упродовж 180 днів” - '
- type: link
attributes:
href: https://www.facebook.com/UkraineMFA/posts/2498886686831903
target: _blank
rel: null
content:
- повідомляє сторінка МЗС у Facebook
- ' із посиланям на посла України у Польщі Андрія Дещицю.'
- type: paragraph
attributes:
class: align-left
content:
- Як підкреслив Дещиця, підписана угода важлива ще й тому, що до сьогоднішнього дня між Україною і Монголією діяла угода 1979 року, яка була підписана свого часу між СРСР і Монгольською Народною Республікою, а потім була підтверджена українським урядом.
Or pretty print if as json
:
$ jq . file
{
"content": [
{
"type": "paragraph",
"attributes": {
"class": "align-left"
},
"content": [
"У Посольстві України в Республіці Польща 8 листопада було підписано Угоду між урядом України та урядом Монголії про взаємне скасування віз."
]
},
{
"type": "paragraph",
"attributes": {
"class": "align-left"
},
"content": [
"“Ми підписали угоду, яка дозволяє громадянам України подорожувати без віз до Монголії. Це означає, що громадяни України можуть в’їжджати до Монголії без віз на 90 днів упродовж 180 днів” - ",
{
"type": "link",
"attributes": {
"href": "https://www.facebook.com/UkraineMFA/posts/2498886686831903",
"target": "_blank",
"rel": null
},
"content": [
"повідомляє сторінка МЗС у Facebook"
]
},
" із посиланям на посла України у Польщі Андрія Дещицю."
]
},
{
"type": "paragraph",
"attributes": {
"class": "align-left"
},
"content": [
"Як підкреслив Дещиця, підписана угода важлива ще й тому, що до сьогоднішнього дня між Україною і Монголією діяла угода 1979 року, яка була підписана свого часу між СРСР і Монгольською Народною Республікою, а потім була підтверджена українським урядом."
]
}
]
}
With jq
, you can retrieve specifics parts. Ex:
jq '[.content | .[] | .content][0] | .[]' file
"У Посольстві України в Республіці Польща 8 листопада було підписано Угоду між урядом України та урядом Монголії про взаємне скасування віз."
Upvotes: 1