将JSON字符串转换为JSON对象(不是Java脚本对象)

时间:2019-07-11 23:22:28

标签: jquery json

我需要将字符串转换为JSON对象,以便可以使用AJAX发布它。截至目前,我能找到的所有答案都将其转换为javascript对象,这归因于“键”上没有双引号,而仅在值上有双引号。 我进行了很多搜索,但是几乎所有答案都将其转换为JS对象,而REST端点将仅接受JSON对象。请帮忙。

我有以下格式的字符串:

{“ subject”:“ school,”,“ description”:“ top10,”,“ classsize”:“ 35”}

以JSON字符串形式获取表单数据的功能

function getFormData($form){
     var unindexed_array = $form.serializeArray();
     var indexed_array = {};

     $.map(unindexed_array, function(n, i){
      indexed_array[n['name']] = n['value'];
                    });

                    return indexed_array;
                }

然后在表单数据上使用JSON.stringify。

1 个答案:

答案 0 :(得分:1)

使用JSON.parse()

var string = "'{\"subject\":\"school,\",\"description\":\"top10,\",\"classsize\":\"35\"}'";
//remove the backslashes
var string_ed = unescape(string);
//remove the surrounding single quotes
string_ed = string_ed.substr(1, string_ed.length - 2);
var jsonObj = JSON.parse(string_ed);

document.getElementById("result").innerText = JSON.stringify(jsonObj);
<div id="result"></div>