Java JSON stringify仍然在JS中返回[object]

Java JSON stringify仍然在JS中返回[object],java,javascript,jquery,json,Java,Javascript,Jquery,Json,我对stringify有点问题。 我将变量从Java传递到JavaScript。 在out.println(strin)之后的Java中;看起来是这样的: [{"date":"01-18-2015"},{"date":"01-19-2015"},{"date":"01-21-2015"},{"date":"01-19-2015"},{"date":"01-19-2015"},{"date":"01-19-2015"}] String next_date = ""; JSONAr

我对stringify有点问题。 我将变量从Java传递到JavaScript。 在out.println(strin)之后的Java中;看起来是这样的:

[{"date":"01-18-2015"},{"date":"01-19-2015"},{"date":"01-21-2015"},{"date":"01-19-2015"},{"date":"01-19-2015"},{"date":"01-19-2015"}]
String next_date = "";
        JSONArray json = new JSONArray();
        while (daty.next()) {
            next_date = formatter.format(daty.getDate("date"));
            JSONObject obj = new JSONObject();
            obj.put("date", next_date);
            json.put(obj);
        }

        String strin = json.toString();
所以我试图将其传递给JavaScript

var obj = new String(<%= strin %>); 
var tekst = JSON.stringify(obj);
alert(tekst);
stringify工作得很好。 我真的很困惑。有人能给我一些提示吗

我的Java json代码如下所示:

[{"date":"01-18-2015"},{"date":"01-19-2015"},{"date":"01-21-2015"},{"date":"01-19-2015"},{"date":"01-19-2015"},{"date":"01-19-2015"}]
String next_date = "";
        JSONArray json = new JSONArray();
        while (daty.next()) {
            next_date = formatter.format(daty.getDate("date"));
            JSONObject obj = new JSONObject();
            obj.put("date", next_date);
            json.put(obj);
        }

        String strin = json.toString();
您利用的是JSON符号(JavaScript对象符号)

以这种方式声明变量时:

var zmienna = '[{"date":"01-18-2015"},{"date":"01-19-2015"},..];
基本上,您可以声明一个
数组[]
,其中的元素是
对象{}

它相当于下面的代码

var firstDate = new Date("01-18-2015");
var secondDate =new Date("01-19-2015");
var zmienna = [firstDate, secondDate];
这就可以使用数组了,而在另一段代码中,您可以声明一个字符串变量,其中包含一些字符

var obj = new String(<%= string %>); 
var obj=新字符串();

我希望它澄清了您的理解。

新字符串
是一个对象。您应该使用字符串文字。也许
var obj=
BTW对变量使用英文名称是一种常见的习惯。