Piszę plik JSON, który byłby odczytywany przez program Java. Fragment wygląda następująco ...
{
"testCases" :
{
"case.1" :
{
"scenario" : "this the case 1.",
"result" : "this is a very long line which is not easily readble.
so i would like to write it in multiple lines.
but, i do NOT require any new lines in the output.
I need to split the string value in this input file only.
such that I don't require to slide the horizontal scroll again and again while verifying the correctness of the statements.
the prev line, I have shown, without splitting just to give a feel of my problem"
}
}
}
Odpowiedzi:
Sprawdź specyfikację ! JSON gramatyki za char produkcja może przyjmować następujące wartości:
"
-lub-\
-lub-control-znakowy\"
\\
\/
\b
\f
\n
\r
\t
\u
cztery cyfry szesnastkoweNowe linie to „znaki kontrolne”, więc nie, możesz nie mieć dosłownego znaku nowej linii w ciągu. Możesz go jednak zakodować, używając dowolnej kombinacji
\n
i\r
wymaganej.W JSONLint potwierdza narzędziowe że JSON jest nieprawidłowy.
Aktualizacja: A jeśli chcesz pisać znaki nowej linii w składni JSON bez faktycznego dodawania nowych linii do danych, masz nawet podwójny pech. Chociaż JSON ma być do pewnego stopnia przyjazny dla człowieka, nadal jest to dane i próbujesz zastosować dowolne formatowanie do tych danych. Absolutnie nie o to chodzi w JSON.
źródło
Nie jestem pewien Twoich dokładnych wymagań, ale jednym z możliwych rozwiązań poprawiających „czytelność” jest przechowywanie ich jako tablicy.
Dołącz ponownie w razie potrzeby z
źródło
Niezbyt dobre rozwiązanie, ale możesz wypróbować narzędzie hjson . Link . Pozwala na pisanie tekstu wielowierszowego w edytorze, a następnie konwertuje go na właściwy prawidłowy format JSON. Uwaga: dodaje znaki „\ n” do nowych linii, ale możesz je po prostu usunąć w dowolnym edytorze tekstu za pomocą funkcji „Zamień wszystko…”.
PS Powinien być komentarzem do pytania, ale nie mam wystarczającego repozytorium, przepraszam.
źródło
Jak mogłem zrozumieć, pytanie nie dotyczy tego, jak przekazać ciąg z symbolami kontrolnymi za pomocą,
json
ale jak przechowywać i przywracać json w pliku, w którym można podzielić ciąg za pomocą symboli kontrolnych edytora.Jeśli chcesz przechowywać ciąg wielowierszowy w pliku, plik nie będzie przechowywać prawidłowego
json
obiektu. Ale jeśli używaszjson
plików tylko w swoim programie, możesz przechowywać dane tak, jak chcesz i ręcznie usuwać wszystkie znaki nowej linii z pliku za każdym razem, gdy ładujesz go do programu, a następnie przekazujesz do parsera json.Lub, alternatywnie, co byłoby lepsze, możesz mieć swoje
json
pliki źródłowe danych, w których edytujesz żądło, jak chcesz, a następnie usuniesz wszystkie nowe wiersze za pomocą jakiegoś narzędzia z prawidłowegojson
pliku, którego będzie używał twój program.źródło
Uważam, że to zależy od używanego interpretera json ... w zwykłym javascript można użyć terminatorów linii
źródło
a\ c
=>a c
.