J'écris un fichier JSON qui serait lu par un programme Java. Le fragment est le suivant ...
{
"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"
}
}
}
Réponses:
Consultez les spécifications ! La grammaire de JSON omble de production peut prendre les valeurs suivantes:
"
-ou-\
-ou contrôle caractères\"
\\
\/
\b
\f
\n
\r
\t
\u
quatre chiffres hexadécimauxLes retours à la ligne sont des "caractères de contrôle" donc non, vous ne pouvez pas avoir de nouvelle ligne littérale dans votre chaîne. Cependant, vous pouvez l'encoder en utilisant n'importe quelle combinaison de
\n
et dont\r
vous avez besoin.L' outil JSONLint confirme que votre JSON n'est pas valide.
Mise à jour: Et si vous souhaitez écrire des nouvelles lignes dans votre syntaxe JSON sans réellement inclure les nouvelles lignes dans les données, vous n'avez même pas doublement de chance. Bien que JSON soit censé être convivial dans une certaine mesure, il s'agit toujours de données et vous essayez d'appliquer une mise en forme arbitraire à ces données. Ce n'est absolument pas le but de JSON.
la source
Je ne suis pas sûr de votre exigence exacte, mais une solution possible pour améliorer la «lisibilité» est de la stocker sous forme de tableau.
Rejoignez à nouveau chaque fois que nécessaire avec
la source
Ce n'est pas une très bonne solution, mais vous pouvez essayer l' outil hjson . Lien . Il vous permet d'écrire du texte sur plusieurs lignes dans l'éditeur, puis de le convertir au format JSON valide approprié. Remarque: il ajoute des caractères '\ n' pour les nouvelles lignes, mais vous pouvez simplement les supprimer dans n'importe quel éditeur de texte avec la fonction "Tout remplacer ..".
PS Devrait être un commentaire sur la question, mais je n'ai pas assez de repo, désolé.
la source
Comme j'ai pu le comprendre, la question n'est pas de savoir comment passer une chaîne avec des symboles de contrôle à l'aide,
json
mais comment stocker et restaurer json dans un fichier où vous pouvez diviser une chaîne avec des symboles de contrôle de l'éditeur.Si vous souhaitez stocker une chaîne multiligne dans un fichier, votre fichier ne stockera pas l'
json
objet valide . Mais si vous utilisez vosjson
fichiers uniquement dans votre programme, vous pouvez stocker les données comme vous le souhaitez et supprimer manuellement toutes les nouvelles lignes du fichier chaque fois que vous le chargez dans votre programme, puis passez à l'analyseur JSON.Ou bien, ce qui serait mieux, vous pouvez avoir vos
json
fichiers de source de données où vous éditez une piqûre comme vous le souhaitez, puis supprimez toutes les nouvelles lignes avec un utilitaire dans lejson
fichier valide que votre programme utilisera.la source
Je pense que cela dépend de l'interpréteur json que vous utilisez ... en javascript, vous pouvez utiliser des terminateurs de ligne
la source
a\ c
=>a c
.