簡體   English   中英

將字符串轉換為JSON對象數組(Node.js)

[英]Convert String to Array of JSON Objects (Node.js)

我正在使用Node.js並表達(3.x)。 我必須為mac客戶端提供API,並從post請求中提取正確的字段。 (必須使用request.param)但是字段應該一起組成JSON,而不是字符串。

我有:

var obj = {
        "title": request.param('title'),
        "thumb": request.param('thumb'),
        "items": request.param('items')
    };

和request.param('items')包含一個對象數組,但仍然是一個字符串:

'[{"name":"this"},{"name":"that"}]'

我想追加它所以它變成:

var obj = {
            "title": request.param('title'),
            "thumb": request.param('thumb'),
            "items": [{"name":"this"},{"name":"that"}]
        };

代替

var obj = {
                "title": request.param('title'),
                "thumb": request.param('thumb'),
                "items": "[{\"name\":\"this\"},{\"name\":\"that\"}]"
            };

誰可以幫我這個? JSON.parse不解析對象數組,只解析有效的JSON。

這個怎么樣:

var obj = JSON.parse("{\"items\":" + request.param('items') + "}");
obj.title = request.param('title');
obj.thumb = request.param('thumb');

JSON.stringify(obj);

也許我錯過了什么,但這很好用:

> a = '[{"name":"this"},{"name":"that"}]';
'[{"name":"this"},{"name":"that"}]'
> JSON.parse(a)
[ { name: 'this' }, { name: 'that' } ]

Node@0.10.13

可能是你有舊庫原型。 當我刪除它時,bug已經消失了。

您可以嘗試相同的代碼。 一旦進入Prototype.js頁面。 第二次沒有圖書館的新頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM