我正在研究云函数,以创建一个API,该API采用这样的数组字典["keyOne": ["itemOne","itemTwo"], "keyTwo": ["itemone","itemTwo"]] 我创建了云函数,将其带入正文,我使用邮递员发送了正文,但我仍然有一个问题,字典存储在firebase日志中作为字符串云函数代码:exports.createProduct = functions.https.onRequest((req, res) => { if (req.method !== 'POST') { return res.status(500).json({ message: 'not allowed' }) } console.log(req.body.variants) var firebaseRef = db.ref("product").push(); firebaseRef.set({ variants: req.body.variants }); res.status(200).json({ message: req.body });});变体作为我发送 :variants:["Key":["items1","items2","items3"]]存储在 firebase 日志中,如下所示:variants: "[\"Key\":[\"items1\",\"items2\",\"items3\"]]"
1 回答
HUWWW
TA贡献1874条经验 获得超12个赞
在最后一个屏幕截图中,您似乎在发送一个字符串,因此这就是Firebase存储的内容。
如果需要,可以从 Cloud Functions 代码中的字符串解析数组:
firebaseRef.set({ variants: JSON.parse(req.body.variants); })
您的 JSON 中似乎也存在语法错误:
"[\"Key\":[\"items1\",\"items2\",\"items3\"]]"
我能说的最接近的是:
"[{\"Key\":[\"items1\",\"items2\",\"items3\"]}]"
或
"{\"Key\":[\"items1\",\"items2\",\"items3\"]}"
我还强烈建议在字符串周围使用单引号,这样您就不必转义其中的双引号:
'[{"Key":["items1","items2","items3"]}]'
我建议不要通过字符串串联创建 JSON,而是使用来防止生成无效的 JSON。JSON.stringify()
JSON.stringify([{Key: ["items1", "items2", "items3"]}])
这给出了:
"[{"Key":["items1","items2","items3"]}]"
添加回答
举报
0/150
提交
取消