【发布时间】:2018-12-21 10:16:05
【问题描述】:
如何在nodejs中处理来自android的JSON
我正在使用 express 在节点中构建 rest API。我的 API 被 Web 客户端和 Android 使用。来自android的数据以这种形式出现
"{\"info\":\"abc\"}"
并且从反应应用程序以这种形式出现
{ info:"abc"}
所以它的解决方案是什么,我搜索它但没有找到任何东西。并告诉我在其余 API 中交换数据的更好方法是什么。
我尝试过的。
当我使用 JSON.parse 时,它可以在 android 上正常工作,但它通过错误
SyntaxError: Unexpected token o in JSON at position 1
如果我使用 JSON.stringify 从 React 应用程序发送数据,则会出现此错误
Cannot convert object to primitive value
【问题讨论】:
-
安卓使用
JSON.parse("{\"info\":\"abc\"}") -
是的,我试过了。然后与andriod一起工作正常。但对于我的反应应用程序它通过错误
-
由于您从不同的来源获得不同的格式,因此只使用 if 子句或三元或其他东西是有意义的。
if ( android ) data = JSON.parse(???) else if (react) data = ???; -
根据您的性能需要有多好,您甚至可以使用
let jsonValue; try { jsonValue = JSON.parse(data) } catch (err) { jsonValue = data}或更简单/更好的性能:jsonValue = typeof data === 'string' ? JSON.parse(data) : data
标签: javascript node.js reactjs rest express