1.キー価値のペアを手動でjsonObjectに入れるだけで、jsonArrayオブジェクトに入れます
List <portion> al = articLemng.find(f); System.out.println(al.size()); httpservletResponse hsr = servletactioncontext.getResponse(); if(null == al){return; } for(記事A:al){system.out.println(a.getId()+a.getDescription()+a.getTitle()); } jsonarray json = new jsonarray(); for(記事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.setcharacterencoding( "utf-8"); hsr.getwriter()。write(json.tostring()); } catch(ioexception e){e.printstacktrace(); }上記のコードJSonArrayは、紹介したorg.json.jsonarrayパッケージです
net.sf.jsonパッケージの下のjsonarrayの静的方法:fromobject(list)これは、インターネット上でjsonをすばやく変換する方法ですが、Hibernate Cascading操作に関連するオブジェクトの場合、この方法はエラーを報告します。マッピングファイルのカスケード構成が削除されている場合は、問題ありません。
さらに、リストの要件は、ITの要素が文字列またはオブジェクトであることです。そうでなければ、JSONは必要なデータを知りません。
<buly-one name = "cmsent" column = "comment_tid" not-null = "false" cascade = "delete">
ただし、結局、カスケード操作は依然として存在する必要があります。そうしないと、将来データは冗長で冗長になります。
解決策は次のとおりです。JSonArraySubmsgs= jsonarray.fromobject(object、config);
jsonconfig config = new jsonconfig(); config.setjsonPropertyFilter(new PropertyFilter(){public boolean apply(object arg0、string arg1、object arg2){if(arg1.equals( "article")|| arg1.equals( "fans")){return {return {return false;}}}});説明:フィルタリング機能を提供します。関連するオブジェクトが遭遇した場合、自動的にフィルターアウトされ、関連するオブジェクトが実行されません。ここでは、理解を支援するために、冬眠で関係マッピングを構成するためのコードを投稿します。
<! - トピックとグループ間の関係を構成 - > <> <nom-one-name = "article" column = "article_id" /> <! - reasp> <set name = "submessages" table = "sub_message" inverse = "true" cascade = "all" lazy = "balse" /> ">"> ">" </set>
要約:
1。JsonArraySubmsgs= jsonarray.fromobject(submessages、config);ここで、構成はオプションです。上記の状況が発生した場合、構成パラメーターを構成できます。上記の要件がない場合は、FromObject(OBJ)メソッドを直接使用できます。それが変換するのは、次のように標準のJSONオブジェクト形式データです。
{["attr"、 "content"、...}、...]}
2。jsonObjectjtmsg = jsonobject.fromobject(thememessage、config);これは、標準のpojoまたはマップオブジェクトを解析するために特別に使用されます。言うまでもなく、Pojoオブジェクトの形式は、マップの形式はこの{"str"、 "str"}のようなものです。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
JsonarrayとJsonの場合、私は以前に嘔吐していました! ! !
豆
パッケージcom.nubb.bean; import java.io.serializable; public classの人は、serializable {private static final long serialversionuid = 1l;プライベート文字列名;プライベートインクエイジ;プライベート文字列アドレス。 public string getName(){return name; } public void setName(string name){this.name = name; } public int getage(){return age; } public void Setage(int age){this.age = age; } public string getAddress(){return Address; } public void setAddress(stringアドレス){this.address = address; }} jsonutil
パッケージcom.nubb.test; import java.io.ioexception; import java.nio.file.files; import java.nio.file.path; Import java.nio.nio.nio.nio.standardopenoption; Import java.util.arraylist; import java.util.list; import com.alibaba.fuctjson. 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(object); } public static <t> t Deserialize(string string、class <t> clz){return json.parseobject(string、clz); } public static <t> t load(path path、class <t> clz)throws ioexception {return deserialize(new string(files.readallbytes(path)、default_charset_name)、clz); } public static <t> void save(path path、t object)throws ioexception {if(files.notexists(path.getParent())){files.createdirectories(path.getParent()); } files.write(path、serialize(object).getbytes(default_charset_name)、stardentopenoption.write、stardentopenoption.create、stardentopenoption.truncate_existing); } public static void main(string [] args){person person1 = new Person(); person1.setAddress( "アドレス"); person1.setage(11); person1.setname( "amao"); person person2 = new person(); person2.setAddress( "アドレス"); person2.setage(11); person2.setname( "amao"); list <person> lp = new arrayList <serson>(); lp.add(person1); lp.add(person2); System.out.println(serialize(lp)); }}出力:
コードコピーは次のとおりです。
[{"address": "address"、 "age":11、 "name": "amao"}、{"address": "address"、 "age":11、 "name": "amao"}]]
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。