En Java, comment puis-je combiner deux tableaux d'objets JSON?
J'ai plusieurs chaîne contenant chacune une représentation JSON d'un tableau d'objets. Voici un exemple de code pour illustrer, si ce n'est pas mon code (les chaînes JSON sont passés):
String s1 = "[{name: "Bob", car: "Ford"},{name: "Mary", car: "Fiat"}]";
String s2 = "[{name: "Mack", car: "VW"},{name: "Steve", car: "Mercedes Benz"}]";
J'ai besoin de combiner ces deux tableaux JSON en un seul grand tableau JSON. J'ai pu traiter cela comme une manipulation de chaînes de problème et remplacer l'extrémité intérieure des crochets avec des virgules, mais qui n'est pas particulièrement robuste (si je suis assuré d'obtenir JSON valide).
Je préfère traiter de ces deux Chaînes JSON tableaux et simplement les ajouter ensemble en quelque sorte. C'est un bon plan, mais je ne connais pas le "en quelque sorte".
Que quelqu'un connait une solution en Java qui ne nécessite pas la construction d'Objet Java représentations des objets JSON?
Merci!
source d'informationauteur Paul | 2011-10-29
Vous devez vous connecter pour publier un commentaire.
Vous vraiment n'ont que deux choix: parser le JSON (qui, invariablement, impliquerait la construction d'objets) ou de ne pas analyser le JSON. Pas d'analyse va être moins cher, bien sûr.
Au premier coup d'œil votre idée de le traiter comme une manipulation de chaînes problème peut sembler fragile, mais plus j'y pense, plus elle semble faire sens. Pour la détection d'erreur que vous pourriez facilement confirmer que vous vous êtes vraiment affaire avec des tableaux en vérifiant les crochets; après cela, il suffit d'ôter la fin du support, de l'ajout d'une virgule, de dépouiller le début du support, et l'ajout de la "queue" devrait fonctionner parfaitement. La seule exception est, je pense, si la pile est vide, il suffit de retourner l'autre de la Chaîne inchangé; encore une fois, c'est très facile de vérifier qu'une Chaîne de caractères.
Je ne pense vraiment pas qu'il n'y a aucune raison de le rendre plus complexe que cela.
Ce code va prendre
sourceArray
(s2), et l'ajouter à la fin dedestinationArray
(s1):J'ai utilisé ce code pour Combiner deux Tableau Json.
Utiliser la Méthode ci-Dessous passer tous les tableau JSON dans ArrayList cette méthode sera de retour cumulatif JsonArray
j'utilise ce code pour ajouter tous les éléments d'une jsonArray d'un commun JsonArray.