首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Node.js JSON.stringify()导致输出中的"。无法使用Jquery进行解析

Node.js JSON.stringify()导致输出中的"。无法使用Jquery进行解析
EN

Stack Overflow用户
提问于 2012-06-22 06:04:20
回答 4查看 79.1K关注 0票数 26

我使用Node.js (带有Express.js)将JSON数据对象从服务器传递到客户机视图。

当我将JSON对象直接呈现到视图中时,我会得到页面上显示的JSON对象(这是有效的):

代码语言:javascript
复制
pageprovider.findAllTag( function(error, pages){
    res.send(pages);
})

我的输出如下所示(大得多,很多是嵌套的obj)

代码语言:javascript
复制
{"green":{"title":"green","pagesContaining": ""}}

当我尝试将它传递给我的Jade View时,如下所示:

代码语言:javascript
复制
pageprovider.findAllTag( function(error, tagsJSONObj){
        //res.send(pages);

    pageprovider.findAll( function(error, pages){
        res.render('search_tags.jade', { locals: {
            title: 'Search by Tags',
            'pages': pages,
            tagsJSON: JSON.stringify(tagsJSONObj) //pass the tags data as a JSON obj
            }
        });
    }) //pageprovider.findAll
}) //pageprovider.findAllTag

The problem

当我将'tagsJSON‘传递给视图时,输出包括html实体:

代码语言:javascript
复制
var obj = jQuery.parseJSON( "{"name": 'value'}");

JQuery抛出一个错误,因为它不喜欢'"‘。我怎样才能让Node给我正确的引号,或者让jQuery接受这种格式?

有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-06-22 06:13:45

这是因为当你打电话给

代码语言:javascript
复制
    res.render('search_tags.jade', { locals: {
        title: 'Search by Tags',
        'pages': pages,
        tagsJSON: JSON.stringify(tagsJSONObj) //pass the tags data as a JSON obj
        }
    });

search_tags.jade是用来输出超文本标记语言的,所以它会对你的引用进行编码。您应该使用不支持HTML转义的渲染器,或者至少更改视图,使参数不是HTML编码的

如果不想对输出中的某些内容进行转义,可以在视图中使用!{tagsJSON}。但是,在输出JSON时,不需要视图。您可以只获取您的对象,调用JSON.stringify。我不使用JADE,所以我不确定是否有一种方法可以创建只调用JSON.stringify()的视图,但这就是我在JSP、velocity、ASP和Code Igniter中所做的(不使用JSON.stringify,而是使用针对给定语言的JSON工具)

票数 30
EN

Stack Overflow用户

发布于 2012-11-17 17:01:36

在ejs中,它的<%- tagsJSON %>

代码语言:javascript
复制
          ^ <---- Note the "-"
票数 22
EN

Stack Overflow用户

发布于 2014-03-08 02:33:49

使用Swig.js时更好的解决方案

{{ data|json|raw }}

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11147468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档