Przeszukuję tekstowy format danych obsługujący ciągi wielowierszowe.Format danych tekstowych obsługujący ciągi wielowierszowe
JSON nie pozwala multilinii ciągi:
>>> import json
>>> json.dumps(dict(text='first line\nsecond line'))
'{"text": "first line\\nsecond line"}'
My pożądane wyjście:
{"text": "first line
second line"}
To pytanie jest o wejściu i wyjściu. Format danych powinien być edytowalny za pomocą edytora takiego jak vi, emacs lub notepad.
Nie obchodzi mnie, czy proste cytaty "
lub potrójne cytaty (jak w Pythonie) """
się przyzwyczają.
Czy istnieje łatwy do odczytania tekstowy format wymiany danych dla ludzi, który obsługuje to?
przypadków użycia
chcę edytować dane z multilinii strun z vi
. To nie jest zabawne, jeśli dane są w formacie json.
czy można opracować format/cel danych, np. Złożone struktury lub niektóre ustawienia/plik conf itp. –
@NabeelAhmed Chcę go użyć do konfiguracji. Wiele aplikacji wymyśla własny język konfiguracji. Chcę tego uniknąć. Ale json i ConfigParser mnie nie satysfakcjonują. Json nie zezwala na ciągi znaków z znakami nowej linii (tylko \ n), a narzędzie ConfigParser nie zezwala na zagnieżdżanie struktur danych. Następna rzecz, której mi brakuje: Walidacja (ale jest to inny temat). Drogi Nabeelu, proszę zostawić nowy komentarz, jeśli czegoś brakuje. – guettli
Myślę, że jeśli możesz zastąpić wynik zrzutu, to wynik powinien być prawidłowy. 'data = json.dumps (dict (text = 'first line \ nsecond line')) data = data.replace ('\\ n', '\ n') print (data)' –