Je souhaite une sortie dans le format de matrice JSON ci-dessous avec la commande sur la plate-forme Linux / Bash. Peut-on aider tous les données
dans le fichier texte p> attendre la sortie: strong> p> {array :
[
{test:test},
{test1:test1},
{test4:test4}
]
}
3 Réponses :
Utilisation de Les options Le script JQ code> ligne de commande JSON Parser:
rs code> laisse
jq code> lisez le tout fichier comme une chaîne. p>
divisé code> S Cette chaîne en morceaux afin d'avoir le format attendu. p> p>
Puis-je ajouter une nouvelle paire (clé / valeur) au tableau existant "Test5": "Test5" {"Array": [{"Test": "Test"}, {"Test1": "Test1"}, {"Test4 ":" Test4 "}, {" Test5 ":" Test5 "}]}
En supposant que vous souhaitez une sortie JSON réelle:
$ jq -nR '{array: (reduce inputs as $line ([]; . + [$line | split(":") | {(.[0]):.[1]}]))}' input.txt { "array": [ { "test": "test" }, { "test1": "test1" }, { "test4": "test4" } ] }
Créer un JSON fonctionne mieux avec un outil JSON dédié pouvant également donner un sens au texte brut.
xidel code>
est un tel outil.
xpath : strong> p> ( xquery: strong> p> Voir aussi Ce Testeur en ligne Xidel. P> P> x: lignes ($ RAW) code> est un raccourci pour
tokenize ($ cru, '\ r \ n? | \ n ') code>, qui crée une séquence de toutes les lignes.) p>
Comment ces données ont-elles été générées?
Notez que
" code> n'est pas
" code>. Il suffit de lire la ligne d'entrée par ligne avec
: code> comme séparateur et sortie les dans le formar
{" Quelque chose ":" quelque chose "} code> alors joni les lignes avec virgule. Comment lire une ligne de fichier par ligne Comment rejoindre des lignes avec Delimètre
Votre sortie n'est pas valide JSON ...
J'ai apporté des changements dans la question. S'il vous plaît vérifier si cela a plus de sens
Désolé, ce n'est pas la façon dont Stackoverflow fonctionne. Les questions de la forme "Je veux faire x, veuillez me donner des conseils et / ou un code d'échantillon" sont considérés comme étant hors sujet. Veuillez visiter le centre d'aide et lire Comment Demander , et surtout lire Pourquoi "peut-il m'aider quelqu'un?" pas une question réelle?
Votre sortie attendue n'est toujours pas valide JSON. Si vous voulez quelque chose de JSON - comme, mais pas, ne l'appelez pas JSON.