Allow parsing "json" which is wrapped in "[ ]", not "{ }"
Closed this issue · 1 comments
AllanLRH commented
Would it be possible the library to parse json which is wrapped in [ ]
, not { }
, like this file (from the settings file of Sublime Text, if you're interested)):
[
{
"caption": "Word Wrap: Toggle",
"command": "toggle_setting",
"args": {"setting": "word_wrap"}
},
{
"caption": "Convert Case: Upper Case",
"command": "upper_case"
},
{ "caption": "Indexing Status", "command": "show_progress_window" },
]
torfsen commented
That should already work, @AllanLRH, since your example is almost valid JSON: The only "error" is the trailing comma after the last list item.
barely_json
parses it just fine:
In [1]: import barely_json
In [2]: source = '''
...: [
...: {
...: "caption": "Word Wrap: Toggle",
...: "command": "toggle_setting",
...: "args": {"setting": "word_wrap"}
...: },
...: {
...: "caption": "Convert Case: Upper Case",
...: "command": "upper_case"
...: },
...: { "caption": "Indexing Status", "command": "show_progress_window" },
...: ]
...: '''
In [3]: print(barely_json.parse(source))
[{'caption': 'Word Wrap: Toggle', 'args': {'setting': 'word_wrap'}, 'command': 'toggle_setting'}, {'caption': 'Convert Case: Upper Case', 'command': 'upper_case'}, {'caption': 'Indexing Status', 'command': 'show_progress_window'}, u'']
Note the empty string at the end of the list due to the trailing comma.
I'm closing this ticket, feel free to re-open if there is something I've missed.