JSON では複数行の文字列は許可されますか? 質問する

JSON では複数行の文字列は許可されますか? 質問する

JSON で複数行の文字列を使用することは可能ですか?

これは主に視覚的な快適さのためなので、エディターで単語の折り返しをオンにするだけでよいと思いますが、ちょっと興味があります。

JSON 形式でいくつかのデータ ファイルを作成していますが、非常に長い文字列値を複数の行に分割したいと考えています。Python の JSON モジュールを使用すると、エスケープとして使用するか\、使用するかに関わらず、大量のエラーが発生します。\n

ベストアンサー1

残念ながら、ここでの回答の多くは、文字列データに改行文字を挿入する方法という質問に回答しています。問題は、文字列値を複数のコード行に分割して、コードの見栄えを良くする方法です。(そして、これを認識している回答でさえ、データ表現を自由に変更できることを前提とした「解決策」を提供していますが、多くの場合、そうではありません。)

さらに悪いニュースは、良い答えがないことです。

多くのプログラミング言語では、文字列を複数行に分割することを明示的にサポートしていなくても、文字列の連結を使用して目的の効果を得ることができます。また、コンパイラがひどくない限り、これは問題ありません。

しかし、json はプログラミング言語ではなく、単なるデータ表現です。文字列を連結するように指示することはできません。また、その (かなり小さい) 文法には、複数行の文字列を表現する機能も含まれていません。

何らかのプリプロセッサを考案しない限り (そして私自身は、この問題を解決するために独自の言語を効果的に作り上げる気はありません)、この問題に対する一般的な解決策はありません。データ形式を変更できる場合は、文字列の配列に置き換えることができます。それ以外の場合、これは、json が人間が読みやすいように設計されていない多くの理由の 1 つです。

おすすめ記事