javascript - 我无法使用 JSON.stringify() 将 JSONArray 转换为 JavaScript 中的字符串

标签 javascript json cookies stringify

所以,我有这个 JavaScript 对象 g。

            g = {
                vehicles: e.Gc,
                clicked_vehicle: g,
                site_url: x.display_config.site_image_url,
                include_option_prices: !0,
                selected_options: b.Mf()
            };
            d.lead_data = g;

我正在尝试获取 g.clicked_vehicle 的值并将其存储在浏览器上的 cookie 中。

            document.cookie = "clicked_vehicle=" + JSON.stringify(g.clicked_vehicle);

g.clicked_vehicle 是一个 JSONArray,因此存储在我的浏览器中的 clicked_vehicle cookie 的值是“[object Object]”。我以为 JSON.stringify 会将 JSONArray 转换为字符串,但由于某种原因它不起作用。

当我这样做时:

         document.cookie = "selected_options="+ JSON.stringify(g.selected_options);

它起作用了,字符串被存储到我浏览器上的 cookie 中。

知道问题出在哪里吗?

最佳答案

我认为问题出在这里:

clicked_vehicle: g

正如 Jaromanda X 所提到的,此行可能会导致递归问题,因为您的对象也称为 g

如果您确实需要在 clicked_vehicle 中存储相同的数据集,您可以这样做:

g = {
  vehicles: e.Gc,
  clicked_vehicle: Object.assign({}, g), // copies g instead of referencing it

看看这是否适合您。

关于javascript - 我无法使用 JSON.stringify() 将 JSONArray 转换为 JavaScript 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43358957/

相关文章:

javascript - 类型错误 : Cannot read property 'match' of undefined when calling Firebase Cloud Function

json - 如何使用终端下载部分 s3 aws cli?它是一个 1 TB 的 json/xml 文件,我只想要 100-200MB 的顺序编号文件

javascript - google calendar api start-min/start-max 没有返回正确的值

javascript - Highcharts,在列或 x 轴类别上单击将职位编号附加到页面 url

javascript - BackboneJS View - 未捕获类型错误 : Cannot read property 'get' of undefined

python - 用字典删除重复行

session - cookie 和 cookiejar 有什么区别?

javascript - Nodejs 'res is not defined' 内需要

java - 访问 HttpServletResponse cookie

javascript - 在单个 JavaScript 函数中可以对 DOM 进行多少次更改是否有限制?