Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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_Mustache - Fatal编程技术网

Javascript 将字符串连接到json对象

Javascript 将字符串连接到json对象,javascript,json,mustache,Javascript,Json,Mustache,我正在尝试将Mustach与名为Bic_calendar的引导日历一起使用 基本上,您可以使用如下对象将事件添加到日历中 var events = [ { date: "28/10/2013", title: 'DUE DAY ENROLMENT', }, { date: "29/10/2013", title: 'DUE DAY PAYMENT', }, { date: "31/10/2013", title: '1st DAY OF CLASS', }, ] ; var even

我正在尝试将Mustach与名为Bic_calendar的引导日历一起使用 基本上,您可以使用如下对象将事件添加到日历中

    var events = [ 
{
date: "28/10/2013",
title: 'DUE DAY ENROLMENT',
},
{
date: "29/10/2013",
title: 'DUE DAY PAYMENT',
},
{
date: "31/10/2013",
title: '1st DAY OF CLASS',
},
]
;
var eventsObj = { 'events': events };
我想要的是使用Mustach快速总结下一个事件,问题是为了让Mustach渲染 需要将对象更改为的模板:

    var events = {"events": [ 
{
date: "28/10/2013",
title: 'DUE DAY ENROLMENT',
},
{
date: "29/10/2013",
title: 'DUE DAY PAYMENT',
},
{
date: "31/10/2013",
title: '1st DAY OF CLASS',
},
]}
;
因此,我试图将原始事件连接到新事件中,但它不起作用,因此我猜我在连接中做错了什么

var events1 = '{"events": '. concat(events) .concat('}');
var events1 = '{"events": ' + events + '}';

这个选项中的任何一个都有效

var事件
不是JSON。它是一个文本javascript数组,您不应该连接它,而应该简单地将它嵌套在一个新对象中,然后在需要JSON字符串时序列化为JSON

var events = [ 
  {
    date: "28/10/2013",
    title: 'DUE DAY ENROLMENT',
  },
  {
    date: "29/10/2013",
    title: 'DUE DAY PAYMENT',
  },
  {
    date: "31/10/2013",
    title: '1st DAY OF CLASS',
   },
];

var nestedEvents = { 'events': events };
var jsonEvents = JSON.stringify(nestedEvents);
一般来说,如果您发现自己试图手动构建JSON字符串,那么您可能没有采取正确的方法。首先构建要序列化为JSON的数据结构,然后将其序列化


另一个让开发人员感到困惑的地方是,JSON只不过是某些数据结构的序列化字符串表示。没有JSON对象这样的东西。JSON格式当然与javascript对象文本有很大的相似性,但它确实不同,应该这样对待。在本例中,您的
events
变量不包含JSON字符串,因此您不应该期望能够像连接字符串一样连接它

var events = [
    {
        date: "28/10/2013",
        title: 'DUE DAY ENROLMENT',
    },
    {
        date: "29/10/2013",
        title: 'DUE DAY PAYMENT',
    },
    {
        date: "31/10/2013",
        title: '1st DAY OF CLASS',
    }
];
只需使用事件数组创建一个新对象,如下所示

    var events = [ 
{
date: "28/10/2013",
title: 'DUE DAY ENROLMENT',
},
{
date: "29/10/2013",
title: 'DUE DAY PAYMENT',
},
{
date: "31/10/2013",
title: '1st DAY OF CLASS',
},
]
;
var eventsObj = { 'events': events };
如果需要将其设置为json字符串,则可以使用,它将
对象
转换为
json字符串
。顺便说一句,是
array
objects'方法