【问题标题】:How to convert array of strings into JSON object?如何将字符串数组转换为 JSON 对象?
【发布时间】:2021-05-12 04:27:51
【问题描述】:

我需要在不丢失过滤条件的情况下返回列表页面。为此,我使用 cookie,在提交表单过滤器时设置它。 在列表页面挂载的钩子中,我使用 split 方法将特定的 cookie 作为字符串获取,我得到了结果:

[
 "filter1:value",
 "filter2:value"
]

或者,一个字符串数组。如何将其转换为 JSON 以在表单过滤器的 v-model 中操作和插入每个值?

*是一个使用 VueJS 的 Web 应用程序。

【问题讨论】:

  • 为什么不把它保存为 JSON 字符串呢?
  • 作为一个数组,它已经是一个“对象”。是否要将数组转换为 json 字符串?
  • 好的,我在重读时看到了。使用JSON.parse()
  • 您可能不想将其转换为 JSON。您可能希望将其转换为对象。 JSON 是一种文本格式。

标签: javascript arrays json string vue.js


【解决方案1】:

在使用: 分隔符拆分数组元素后,使用Object.fromEntries 从数组元素中构造一个对象:

let data = [
 "filter1:value",
 "filter2:value"
]

let result = Object.fromEntries(data.map(e => e.split(":")))

console.log(result)

【讨论】:

    【解决方案2】:

    您可以使用 JSON.stringify 和 JSON.parse

    JSON.stringify({list: ["filter1:value", "filter2:value"]})
    '{"list":["filter1:value","filter2:value"]}'
    JSON.parse('{"list":["filter1:value","filter2:value"]}')
    {list: ["filter1:value", "filter2:value"]}
    

    【讨论】:

      【解决方案3】:

      第一行我们将数组转换为字符串,第二行我们将字符串转换为JSON对象,您可以操作

      var arrayToString = JSON.stringify(Object.assign({}, arr));  // convert array to string
      var stringToJsonObject = JSON.parse(arrayToString); 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-29
        • 2016-03-23
        • 2016-10-09
        • 1970-01-01
        • 2012-05-08
        • 2013-07-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多