【问题标题】:Convert Object to string and back [duplicate]将对象转换为字符串并返回[重复]
【发布时间】:2015-09-24 13:55:39
【问题描述】:

我需要将 Javascript 对象转换为字符串,然后将此字符串转换回对象。

我得到的对象是这样的:

    var Checked = {};

// Hold all checkboxes
    $('div.list input[type=radio]:checked, input[type=checkbox]:checked').each(function () {
        var $el = $(this);
        var name = $el.attr('name');
        if (typeof (Checked[name]) === 'undefined') {
            Checked[name] = [];
        }
        Checked[name].push($el.val());
    });

我知道如何使用 join 和 split 来处理数组,但是如何处理对象呢? 现在如何将此对象转换为字符串? 如何将此字符串取回对象?

【问题讨论】:

  • JSON.parse()JSON.stringify()
  • 原生 JavaScript 支持 JSON?
  • @DmitrijHolkin JSON:JavaScript 对象表示法
  • @DmitrijHolkin :JSON.parse 和 JSON.stringify 是 JavaScript 函数。它们独立于任何库/框架。

标签: javascript jquery


【解决方案1】:

你在这里:

var object = {
  "1": [1, 2, {
    3: "3"
  }]
};
var str = JSON.stringify(object);
console.log(str);
var obj = JSON.parse(str);
console.log(obj["1"][2][3]);

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    JSON.parse() 方法将字符串解析为 JSON 对象,可选择转换解析产生的值。

    语法

    JSON.parse(text[, reviver])

    参数

    文本 要解析为 JSON 的字符串。有关 JSON 语法的描述,请参阅 JSON 对象。 复兴者 可选 如果是函数,则规定在返回之前如何转换最初通过解析产生的值。

    退货

    返回与给定 JSON 文本对应的 Object。

    投掷

    如果要解析的字符串不是有效的 JSON,则抛出 SyntaxError 异常。


    JSON.stringify() 方法将 JavaScript 值转换为 JSON 字符串,如果指定了替换函数,则可选地替换值,或者如果指定了替换器数组,则可选地仅包含指定的属性。 p>

    语法

    JSON.stringify(value[, replacer[, space]])

    参数

    价值

    The value to convert to a JSON string.
    

    替换器(可选)

    一个改变字符串化过程行为的函数,或一个字符串和数字对象数组,用作选择要包含在 JSON 字符串中的值对象的属性的白名单。如果此值为 null 或未提供,则对象的所有属性都包含在生成的 JSON 字符串中。

    空格(可选)

    一个字符串或数字对象,用于在输出 JSON 字符串中插入空格以提高可读性。如果这是一个数字,它表示用作空格的空格字符的数量;如果大于此数字,则此数字上限为 10。小于 1 的值表示不应使用空格。如果这是一个字符串,则该字符串(或字符串的前 10 个字符,如果它比那个长)用作空格。如果未提供此参数(或为空),则不使用空格。

    来源:

    【讨论】:

      【解决方案3】:
      var obj = { x: 5, y: 6 };
      var a = JSON.stringify(obj);
      console.log(typeof a);
      console.log( a);
      var b = $.parseJSON(a);
      console.log(typeof b);
      console.log( b);
      

      【讨论】:

        猜你喜欢
        • 2011-09-09
        • 2021-09-19
        • 2011-08-12
        • 2012-05-30
        • 2019-03-04
        • 2020-01-25
        • 2020-11-15
        • 1970-01-01
        • 2019-12-17
        相关资源
        最近更新 更多