Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何序列化并解析这样的JSON?_Javascript_Json - Fatal编程技术网

Javascript 如何序列化并解析这样的JSON?

Javascript 如何序列化并解析这样的JSON?,javascript,json,Javascript,Json,我有javascript代码和对象,我需要收集这些对象并将它们序列化到数组中。我使用这样的功能: function getData () { var objects = []; for (var i in this) { if (this[i] instanceof Object) if (this[i].isShow()) objects.push(JSON.stringify(this[i]));

我有javascript代码和对象,我需要收集这些对象并将它们序列化到数组中。我使用这样的功能:

function getData () {
    var objects = [];
    for (var i in this) {
        if (this[i] instanceof Object)
            if (this[i].isShow())
                objects.push(JSON.stringify(this[i]));
    }
    JSInterface.setLocationsData(locations);
}
然后我需要用Java解析这个。我得到以下信息:

{"title":"sample1", value:1}, {"title":"sample2", value:2}
如何解析它?这不是JSONArray,所以我补充道:

JSInterface.setLocationsData("["+locations+"]");

有更好的解决方案吗?

将stringify放在最后一行:

function getData () {
    var objects = [];
    for (var i in this) {
        if (this[i] instanceof Object)
            if (this[i].isShow())
                objects.push(this[i]);
    }
    JSInterface.setLocationsData(JSON.stringify(objects));
}

这不是有效的JSON。除此之外,您还可以使用Java中的JSON解析器,其中有很多。简单的谷歌搜索“JavaJSON”将为您指明正确的方向。问题是如何使JSON有效。然后我建议重新编写您的问题,注意问题是您不知道如何生成有效的JSON,并从中删除任何与Java有关的内容。