Java 将JSONArray转换为JSONObject的数组

Java 将JSONArray转换为JSONObject的数组,java,json,Java,Json,我的JSONArray如下所示: [["title","details"],["abc","xyz"],["abc2","xyz2"]] 如何使用Java/JavaScript转换成如下所示的JSONObject数组 [ { 'title': abc, 'details':xyz,}, {'title': abc2, 'details':xyz2}] 这就是你要找的吗 jQuery.parseJSON( json ) Returns: Object 描述:获取格式良好的JSON字符串并返

我的JSONArray如下所示:

[["title","details"],["abc","xyz"],["abc2","xyz2"]]
如何使用Java/JavaScript转换成如下所示的JSONObject数组

[ { 'title': abc,  'details':xyz,}, {'title': abc2, 'details':xyz2}]

这就是你要找的吗

jQuery.parseJSON( json ) Returns: Object
描述:获取格式良好的JSON字符串并返回结果JavaScript对象。

如果我正确理解了任务,就没有方法可以完成这项工作,因为这似乎是一个有点不寻常的情况。因此,您应该编写自己的转换。

我现在已经找到了解决方法。仍在寻找内置功能或在此基础上的具体实现

String inputStr = "[[\"title\",\"details\"],[\"abc\",\"xyz\"],[\"abc2\",\"xyz2\"]]";

try {
    JSONArray inputArray = new JSONArray(inputStr);
    JSONArray outputArray = new JSONArray();

    for (int i = 0; i < inputArray.length(); i++) {
        JSONArray inArr = inputArray.getJSONArray(i);
        for (int j = 0; j < inArr.length(); j++) {
            if (i != 0) {
                outputArray.put(new JSONObject().put(
                        inputArray.getJSONArray(0).getString(j), inArr.get(j)));
            }
        }
    }
    System.out.println("outputArray = " + outputArray.toString());
} catch (JSONException jse) {
    System.out.println("jse = " + jse.toString());
}

下面的代码已从解决方案中修改,以允许传递多个值数组

function makeObject(keys, array) {
    var output = [];
    for (var o = 0; o < array.length; o++) {
        var object = {};
        for (var i = 0; i < array[o].length; i ++ ) {
         object[keys[i]] = array[o][i];
        }
        output.push(object);
    }
    return output;
}

// input array
var array = [["title","details"],["abc","xyz"],["abc2","xyz2"]];    

// extract keys leaving only values in array
var keys = array.shift();

// build object
var output = makeObject(keys, array);
函数makeObject(键、数组){
var输出=[];
for(var o=0;o

示例:

您真的想使用它吗???是的,使用现有的Java库表单
org.json
或jQuery.jQuery不是Java库!!!1.11我正在寻找解析数组。请参考上面的问题。谢谢,非常有用的答案。我四处寻找JQuery实现,没有注意到JS仍然能够转换为json。
function makeObject(keys, array) {
    var output = [];
    for (var o = 0; o < array.length; o++) {
        var object = {};
        for (var i = 0; i < array[o].length; i ++ ) {
         object[keys[i]] = array[o][i];
        }
        output.push(object);
    }
    return output;
}

// input array
var array = [["title","details"],["abc","xyz"],["abc2","xyz2"]];    

// extract keys leaving only values in array
var keys = array.shift();

// build object
var output = makeObject(keys, array);