1. Basta colocar os pares de valor-chave manualmente em JsonObject e depois colocar no objeto JsonArray
Lista <TARTEM> AL = ARTICLENNG.FIND (F); System.out.println (al.size ()); HttpServletResponse hsr = servletActionContext.getResponse (); if (null == al) {return; } para (Artigo A: Al) {System.out.println (A.GetId ()+A.GetDescription ()+A.GetTitle ()); } JsonArray json = new jsonArray (); para (Artigo A: AL) {JsonObject Jo = new JsonObject (); jo.put ("id", a.getId ()); jo.put ("title", A.Gettitle ()); jo.put ("desc", A.GetDescription ()); json.put (Jo); } tente {System.out.println (json.toString ()); HSR.SECHARACTERENCODING ("UTF-8"); hsr.getwriter (). write (json.toString ()); } catch (ioexception e) {e.printStackTrace (); }O código acima JsonArray é o pacote org.json.jsonArray apresentado
O método estático do JSONArray no pacote net.sf.json: FromObject (List) Esta é a maneira de converter o JSON rapidamente na Internet, mas para o Hibernate Operações em Cascading Objetos Associados, esse método relatará um erro. Se a configuração em cascata no arquivo de mapeamento for removida, ficará bem.
Além disso, o requisito para a lista é que os elementos nela sejam strings ou objetos, caso contrário, o JSON não saberá quais dados você deseja.
<Many-to-One name = "cmsent" column = "Comment_tid" não-null = "false" cascade = "delete">
No entanto, as operações em cascata ainda precisam existir, caso contrário, os dados serão redundantes e redundantes no futuro.
A solução é: JSONArray submsgs = jsonArray.FromObject (Object, config);
JsonConfig config = new jsonConfig (); config.setjsonPropertyFilter (new PropertyFilter () {public boolean Apply (objeto arg0, string arg1, objeto arg2) {if (arg1.equals ("artigo") || arg1.equals ("fãs")) {return;} else {return}}}}}}); Descrição: fornece uma função de filtragem. Se um objeto associado for encontrado, ele será filtrado automaticamente e não executará o objeto associado. Aqui eu publico o código para configurar o mapeamento de relações em Hibernate para ajudar a entender:
<!-Configurar a relação entre tópicos e grupos-> <MUITO-ONE NOME = "Artigo" Column = "Artigo_id" /> <!-Configure a relação entre postagens de tópico e postagens respondidas-> <Set Name = "Submessages" Table = "Sub_message" Inverse = "True" CASCADE = "All" LAZY = "FALSE" ""-" Data "Data" Data "Data" Data "Data" Data "Data" "") </fet>
Resumir:
1. onde a configuração é opcional. Quando a situação acima ocorre, você pode configurar os parâmetros de configuração. Se não houver esse requisito acima, você poderá usar diretamente o método FromObject (OBJ). O que ele converte é os dados padrão do formato de objeto JSON, como segue:
{["att", "content", ...}, ...]}
2. Isso é usado especialmente para analisar Pojo padrão ou objeto de mapa. Escusado será dizer que o formato do objeto Pojo é que a forma de mapa é como este {"str", "str"}.
------------------------------------------------------------ 分割 -------------------------------------------------------------------------------------------
Para JsonArray e JSON, eu costumava vomitar antes! ! !
feijão
pacote com.nubb.bean; importar java.io.Serializable; Public Class Pessoa implementa serializável {private estático final serialversionuid = 1L; nome de string privado; private Int Age; endereço de string privado; public String getName () {Return Name; } public void setName (nome da string) {this.name = name; } public int getage () {Age de retorno; } public void setage (int Age) {this.age = Age; } public string getAddress () {retornar endereço; } public void setAddress (endereço da string) {this.address = endereço; }} Jsonutil
pacote com.nubb.test; importar java.io.ioException; importar java.nio.file.files; importar java.nio.file.path; importar java.nio.file.standardopenoption; importação java.util.arraylist; import java.util.list; com.nubb.bean.person; public class JSOnserializer {private Static final String default_charset_name = "utf-8"; public static <t> string serialize (t Object) {return json.tojSonstring (objeto); } public static <t> t Deserialize (string string, classe <t> clz) {return json.parseObject (string, clz); } public static <t> t carregamento (caminho do caminho, classe <T> clz) lança ioexception {return desserialize (new string (files.readallbytes (path), default_charset_name), clz); } public static <t> void salvar (caminho do caminho, T objeto) lança IoException {if (files.notexists (path.getParent ())) {files.createDirectories (path.getParent ()); } Files.write (caminho, serialize (object) .getBytes (default_charset_name), standardopenOption.write, standardopeNoption.create, standardoPenOption.truncate_existing); } public static void main (string [] args) {pessoa pessoa1 = new Person (); Person1.setAddress ("Endereço"); Person1.setage (11); Person1.setName ("Amao"); Pessoa pessoa2 = nova pessoa (); pessoa2.setAddress ("endereço"); pessoa2.setage (11); pessoa2.SetName ("Amao"); List <Pesso> lp = new ArrayList <Pesso> (); lp.add (Person1); lp.add (Person2); System.out.println (Serialize (LP)); }}Saída:
A cópia do código é a seguinte:
[{"endereço": "endereço", "idade": 11, "nome": "Amao"}, {"endereço": "endereço", "idade": 11, "nome": "Amao"}]
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.