使用Java将矢量转换为JSON

8aqjt8rx  于 4个月前  发布在  Java
关注(0)|答案(1)|浏览(61)

我是Vector和JSON的新手。我想使用Java将Vector转换为JSON。我有Vector Sout打印,如[[1, 001555, LK, 24, KO], [0005, 125, SL, 85, FOO]]我的前端只接受JSON。我只能访问Java控制器,所以这需要在纯Java中完成。
例如:-响应需要是这样的:

{ "id": 1, "string1": "001555", "string2": "LK", "string3": "24", "string4": "KO" },
{ "id": 0005, "string1": "125", "string2": "SL", "string3": "85", "string4": "FOO" },

字符串

kmynzznz

kmynzznz1#

你可以试试这样的:

import java.util.Vector;
import org.json.JSONObject;
import org.json.JSONArray;
import org.json.JSONException;

public static void main(String[] args) {

    Vector<Vector> v = new Vector();

    Vector v1 = new Vector(); 
    v1.add("1"); 
    v1.add("001555"); 
    v1.add("LK"); 
    v1.add(24); 
    v1.add("KO"); 

    Vector v2 = new Vector(); 
    v2.add("0005"); 
    v2.add("125"); 
    v2.add("SL"); 
    v2.add("85"); 
    v2.add("FOO"); 

    v.add(v1);
    v.add(v2);

    JSONArray ja = new JSONArray();

    Vector tmp;

    for(int j=0; j<v.size(); j++)
    {
        tmp = v.get(j);

        JSONObject obj = new JSONObject();
        for (int i=0; i<tmp.size(); i++)
        {
            try {
                if(i==0)
                    obj.put("id", tmp.get(i));
                else
                    obj.put("String"+i, tmp.get(i));
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
        ja.put(obj);
    }   

    System.out.println(ja.toString());

}

字符串
输出为:-

[{"id":"1","String4":"KO","String3":24,"String2":"LK","String1":"001555"},{"id":"0005","String4":"FOO","String3":"85","String2":"SL","String1":"125"}]

相关问题