无法从json字符串中删除双引号

无法从json字符串中删除双引号

我无法从json字符串中删除双引号。以下是我的代码。

var values = {};
        $.each($('#regForm :input'), function(i, field) {
            if (field.name == "submit") {
                delete field.name;
            } else {
                values[field.name] = field.value;
            }
        });
        var json_text = JSON.stringify(values);
        var global = JSON.parse(json_text);
        console.log(global);
        $.ajax({
            type : "POST",
            dataType : "JSON",
            data : global,
            url : "http://localhost:8080/SpringRestServices/register",
            beforeSend : function(xhr) {
                xhr.setRequestHeader("Accept", "application/json");
                xhr.setRequestHeader("Accept-Encoding", "utf-8");
                xhr.setRequestHeader("Content-type", "application/json");
            },
            success : function(data) {
                alert("success"+data);
                console.log("Success:", data);
            },
            error: function(xhr, textStatus, errorThrown) {
                console.log("HI");
                   alert("Failed to cancel subscription! Message:" + textStatus /*+ jqXHR.errorThrown  + xhr.responseText*/);
                   alert("readyState: " + xhr.readyState);
                   alert("responseText: "+ xhr.responseText);
                   alert("status: " + xhr.status);
                   alert("text status: " + textStatus);
                   alert("error: " + errorThrown);
            }
        });


这是我在firefox调试器中看到的输出:

"{"username":"hi","email":"[email protected]","password":"123"}"


我需要实际的结果:

{"username":"hi","email":"[email protected]","password":"123"}


谁可以帮我这个事。

这是我的服务器代码:

@RequestMapping(value = "/register", method = RequestMethod.POST)
@ResponseBody
public RegisterResponse newAccount(@RequestBody Register registration) {
    String newAccountSql = "INSERT INTO register (email,password,username) VALUES (:email,:password,:username)";
    RegisterResponse regResponse = new RegisterResponse();
    regResponse.setResult(-1);
    // ServiceDataBean<AuthToken> retBean = new
    // ServiceDataBean<AuthToken>();
    try {
        System.out.println("register service calling.....");
        MapSqlParameterSource namedParameters = new MapSqlParameterSource();
        namedParameters.addValue("email", registration.getEmail());
        messageDigest = MessageDigest.getInstance("MD5");
        byte[] md5 = new byte[64];
        messageDigest.update(
                registration.getPassword().getBytes("iso-8859-1"), 0,
                registration.getPassword().length());
        md5 = messageDigest.digest();
        namedParameters.addValue("password", convertedToHex(md5));
        namedParameters.addValue("username", registration.getUsername());
        GeneratedKeyHolder generatedKeyHolder = new GeneratedKeyHolder();

        // TODO what to do with the updInt also check it's not -1
        int updInt = jdbcTemplate.update(newAccountSql, namedParameters,
                generatedKeyHolder);
        regResponse.setResult(0);
        System.out.println("from register");
    } catch (Throwable e) {
        regResponse.setResult(001);
        e.printStackTrace();
    }
    return regResponse;
}

最佳答案

尝试

json_text= json_text.slice(1, json_text.length-1);

09-27 21:51