1. Mettez simplement manuellement les paires de valeurs clés dans JSONObject, puis mettez dans l'objet JSONArray
Liste <Reticle> al = articlemng.find (f); System.out.println (al.size ()); HttpservletResponse hsr = servletActionContext.getResponse (); if (null == al) {return; } pour (article a: al) {System.out.println (a.getId () + a.getDescription () + a.getTitle ()); } JSONArray JSON = new JSONArray (); pour (Article A: al) {jsonObject jo = new JSONObject (); jo.put ("id", a.getId ()); jo.put ("Title", a.getTitle ()); jo.put ("desc", a.getDescription ()); JSON.put (Jo); } try {System.out.println (json.toString ()); HSR.SetcharAtterencoding ("UTF-8"); hsr.getwriter (). write (json.toString ()); } catch (ioException e) {e.printStackTrace (); }Le code ci-dessus JSONArray est le package org.json.jsonArray introduit
La méthode statique de JSONArray dans le package net.sf.json: FromObject (list) Ceci est le moyen de convertir JSON rapidement sur Internet, mais pour les objets associés aux opérations en cascade Hibernate, cette méthode rapportera une erreur. Si la configuration en cascade dans le fichier de mappage est supprimée, ce sera bien.
En outre, l'exigence de liste est que les éléments en informatique sont des chaînes ou des objets, sinon JSON ne saura pas quelles données vous souhaitez.
<plusieurs à un name = "cmsent" chronn = "comment_tid" not-null = "false" cascade = "delete">
Cependant, les opérations en cascade doivent encore exister après tout, sinon les données seront redondantes et redondantes à l'avenir.
La solution est: JSONArray subsgs = jsonArray.fromObject (objet, config);
JSONConfig config = new JSONConfig (); config.setjsonpropertyFilter (new PropertyFilter () {public boolean applique (objet arg0, chaîne arg1, objet arg2) {if (arg1.equals ("article") || arg1.equals ("fans")) {return true;} else {return false;}}}); Description: fournit une fonction de filtrage. Si un objet associé est rencontré, il filtrera automatiquement et n'exécutera pas l'objet associé. Ici, je publie le code pour configurer le mappage des relations en hibernate pour aider à comprendre:
<! - Configurez la relation entre les sujets et les groupes -> <plusieurs à un name = "Article" colonnes = "article_id" /> <! - Configurez la relation entre les postes de sujet et les articles répond -> <set name = "tout" Lazy = "false". </set>
Résumer:
1. JSONArray subSgs = JSONArray.FromObject (sous-résessions, config); où la configuration est facultative. Lorsque la situation ci-dessus se produit, vous pouvez configurer les paramètres de configuration. S'il n'y a pas une telle exigence ci-dessus, vous pouvez utiliser directement la méthode NUROBject (OBJ). Ce qu'il convertit, ce sont les données de format d'objet JSON standard, comme suit:
{["att", "contenu", ...}, ...]}
2. JSONObject jtmsg = jsonObject.FromObject (theMeMessage, config); Ceci est spécialement utilisé pour analyser le POJO standard ou l'objet MAP. Inutile de dire que le format de l'objet Pojo est que la forme de la carte est comme celle-ci {"str", "str"}.
---------------------------------------------------------- 分割 ---------------------------------------------------------------------------------------
Pour JSONArray et JSON, j'avais l'habitude de vomir avant! ! !
haricot
package com.nubb.bean; import java.io.serializable; la classe publique implémente serializable {private static final long SerialVersionUID = 1l; nom de chaîne privé; Âge privé; adresse de chaîne privée; public String getName () {Nom de retour; } public void setName (string name) {this.name = name; } public int getage () {return âge; } public void Setage (int Age) {this.age = age; } public String getAddress () {return adresse; } public void setAddress (adresse de chaîne) {this.address = adresse; }} Jsonutil
package com.nubb.test; importer java.io.ioexception; import java.nio.file.files; import java.nio.file.path; import java.nio.file.standardOpenOption; import java.util.arraylist; import java.util.list; import com.alibaba.fastjon.json.json; import; com.nubb.bean.person; classe publique jsonSerializer {private static final string default_charset_name = "utf-8"; public static <t> string serialize (t objet) {return json.tojSontring (objet); } public static <T> t Deserialize (String String, class <t> clz) {return json.parseObject (String, clz); } public static <T> t Load (chemin de chemin, class <t> clz) lève ioException {return Deserialize (new String (files.readallbytes (path), default_charset_name), clz); } public static <T> void Save (path path, t objet) lève ioException {if (files.notexists (path.getParent ())) {files.CreateDirectories (path.getParent ()); } Files.write (path, serialize (object) .getBytes (default_charset_name), standardOpenOption.write, standardOpenOption.create, standardOpenOption.truncate_existing); } public static void main (String [] args) {personne personne 1 = new personne (); person1.setAddress ("adresse"); person1.setage (11); Person1.setName ("AMAO"); Personne personne2 = new personne (); person2.setAddress ("adresse"); Person2.setage (11); Person2.setName ("amao"); List <ponge> lp = new ArrayList <onom> (); LP.ADD (Person1); LP.ADD (Person2); System.out.println (serialize (LP)); }}Sortir:
La copie de code est la suivante:
[{"Address": "Address", "Age": 11, "Name": "Amao"}, {"Address": "Address", "Age": 11, "Name": "Amao"}]
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.