JAva処理Listの内容を標準json形式に変換
10410 ワード
私たちがウェブページのフロントページを書くのにデータが必要な場合、これらのデータは通常データベースに格納されているので、フロントページに直接表示することはできないので、処理操作が必要です.一般的にjson形式のデータはフロントで便利に使用できます.jsでjson形式のデータを操作することができるので、フロント・バックグラウンドのインタラクションを実現するには、次の例を挙げます.
この場合、私たちは手がつけられないかもしれませんが、fastjson.jarパッケージを通じていくつかのクラスを提供して、問題を解決することができます.fastjson-1.x.x.jarバージョンのjarパッケージをインポートする必要があります(オンラインでダウンロードできます).今回は主にJSONObjectオブジェクトを使用しています.インスタンスコードは以下の通りです.
このとき、プログラムを実行すると、コンソールで結果を見ることができます.一般的には、このフォーマットが正しいかどうかは発見しにくいです.一般的には、コンソールの内容をテストして、生成されたjsonフォーマットが正しいかどうかをテストすることができます.jsonはオンラインで解析します.実際の開発では、ツールクラスに書くことができます.これにより、使いやすくなり、調子に合わせて使用できます.これで簡単に内容を借りることができます.
List nodes = new ArrayList();
nodes.add("{id:1,pid:-1,name:'XX '}");
nodes.add("{id:2,pid:1,name:' '}");
nodes.add("{id:3,pid:1,name:' '}");
nodes.add("{id:4,pid:1,name:' '}");
nodes.add("{id:5,pid:1,name:' '}");
nodes.add("{id:6,pid:2,name:'dd '}");
nodes.add("{id:7,pid:2,name:'zz '}");
nodes.add("{id:8,pid:2,name:'zz '}");
nodes.add("{id:9,pid:2,name:'yy '}");
nodes.add("{id:10,pid:3,name:'ddee '}");
nodes.add("{id:11,pid:3,name:'aagg '}");
nodes.add("{id:12,pid:4,name:' '}");
nodes.add("{id:13,pid:4,name:' '}");
nodes.add("{id:14,pid:4,name:' '}");
nodes.add("{id:15,pid:4,name:' '}");
nodes.add("{id:16,pid:5,name:' ETC'}");
nodes.add("{id:17,pid:5,name:' ETC'}");
nodes.add("{id:18,pid:5,name:' ETC'}");
nodes , , JSON :
[id:1,name:"XX ",children:[
{id:2,name:" ",childred:[
{id:6,name:"dd"},
{id:7,name:"ddff "},
{id:8,name:"adef "},
{id:9,name:"eg "},
]}]
この場合、私たちは手がつけられないかもしれませんが、fastjson.jarパッケージを通じていくつかのクラスを提供して、問題を解決することができます.fastjson-1.x.x.jarバージョンのjarパッケージをインポートする必要があります(オンラインでダウンロードできます).今回は主にJSONObjectオブジェクトを使用しています.インスタンスコードは以下の通りです.
import java.util.ArrayList;
import java.util.List;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class TransJson {
public static void main(String[] args) {
// TODO Auto-generated method stub
List nodes = new ArrayList();
nodes.add("{id:1,pid:-1,name:'xxx '}");
nodes.add("{id:2,pid:1,name:' '}");
nodes.add("{id:3,pid:1,name:' '}");
nodes.add("{id:4,pid:1,name:' '}");
nodes.add("{id:5,pid:1,name:' '}");
nodes.add("{id:6,pid:2,name:'def '}");
nodes.add("{id:7,pid:2,name:'defg '}");
nodes.add("{id:8,pid:2,name:'asd '}");
nodes.add("{id:9,pid:2,name:'asd '}");
nodes.add("{id:10,pid:3,name:'ggdd '}");
nodes.add("{id:11,pid:3,name:'eedd '}");
nodes.add("{id:12,pid:4,name:' '}");
nodes.add("{id:13,pid:4,name:' '}");
nodes.add("{id:14,pid:4,name:' '}");
nodes.add("{id:15,pid:4,name:' '}");
nodes.add("{id:16,pid:5,name:' ETC'}");
nodes.add("{id:17,pid:5,name:' ETC'}");
nodes.add("{id:18,pid:5,name:' ETC'}");
JSONObject jsonObject = new JSONObject();
List getlist = getJsonobject(nodes, "-1");
System.out.println(JSONObject.toJSONString(getlist));
}
private static List getJsonobject(List list, String startidid) {
List jsonObjects = new ArrayList();
for (String s : list) {
JSONObject jsonObject = JSONObject.parseObject(s);
String pid = jsonObject.getString("pid");
if (pid.equals(startidid)) {
String id = jsonObject.getString("id");
List child = getJsonobject(list, id);
if (child.size() > 0) {
jsonObject.put("child", child);
}
jsonObjects.add(jsonObject);
}
}
return jsonObjects;
}
}
list 。
このとき、プログラムを実行すると、コンソールで結果を見ることができます.一般的には、このフォーマットが正しいかどうかは発見しにくいです.一般的には、コンソールの内容をテストして、生成されたjsonフォーマットが正しいかどうかをテストすることができます.jsonはオンラインで解析します.実際の開発では、ツールクラスに書くことができます.これにより、使いやすくなり、調子に合わせて使用できます.これで簡単に内容を借りることができます.