【问题标题】:Stringify nested array of object using java script to pass as a parameter in a url使用javascript字符串化嵌套的对象数组以作为url中的参数传递
【发布时间】:2017-12-29 15:24:35
【问题描述】:

我有一个嵌套的 JSON 对象数组。我想将它作为 URL 中的参数传递,希望将其保存到 Mongo db。但是当我这样做时,它保存为[object object]。我该怎么做?

【问题讨论】:

  • 嗨!请显示您正在做什么,输入和预期输出。此外,请考虑使用 url 为 query 传递参数,而不是发布数据。请改用 HTTP POST。

标签: json node.js mongodb


【解决方案1】:

假设你有任何对象。然后你在参数中传递了这个对象。你不能发送任何对象,因为 URL 不知道你发送任何密钥的类型。所以首先我们将对象转换为字符串。比你可以发送任何嵌套对象。

  var add={
        name:"abc",
        college:{
            id:3
        }
    }
var key = JSON.stringify(add);
   const request = require('request');   
  request(' http://localhost:8080/user/send/'+ key, function(err, res, body) {  
            console.log(body);
        }); 

比你这样的服务器端代码访问 req api。

app.get('/send/:key', function (req, res) {
console.log(req.params.key)
//{"name":"abc","college":{"id":3}}   you easily access object like this

    });

【讨论】:

  • 当我对 Json 数组进行字符串化并将其传递到 mongo db 时,它会显示错误。我有数组 json 对象数组
  • [ { "id":"5922652f86b53b2f494a31f9", "name":"Green Handbag", "qty":1, "sku":"1111", "totWeight":null, "price" :"350", "total":"350", "imgURL":[ { "img":"16.JPG", "$$hashKey":"object:1102" } ], "totalQty":347, " $$hashKey":"object:1108" } ] 这是我的 json 字符串。
  • 当您从 (req.params.key) 获取 json 数组时。比在存储 mongodb 之前您必须先使用 JSON.parse(req.params.key)。毕竟您可以将 json 文档保存在MongoDB
  • 显示错误是因为我认为您正在以字符串格式保存 json。所以在保存之前,您必须先解析 json,毕竟您可以保存。
  • 谢谢大家的回复。
猜你喜欢
  • 2021-04-06
  • 2018-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多