Javascript 将JSON对象转换为数字字符串,反之亦然

Javascript 将JSON对象转换为数字字符串,反之亦然,javascript,json,Javascript,Json,(如果有人问过类似的问题,我很抱歉,我找不到) 基本上,我有一个JSON对象,大约有10个属性(固定数量),其中包含一个没有用户系统的应用程序的个人设置,我希望用户能够获得一个代码,将每个属性的正确值转换为该对象。这样,他们就可以使用永久链接使用自己的设置访问应用程序 问题是:是否有一种方法或特定的技术可以将JSON序列化对象(即JSON字符串)转换为数字或十六进制代码?我见过几个网站从用户的角度做了类似的事情 因为我有一组有限的属性和可能的值,所以我的方法是对字符串进行硬编码(例如,如果属性1

(如果有人问过类似的问题,我很抱歉,我找不到)

基本上,我有一个JSON对象,大约有10个属性(固定数量),其中包含一个没有用户系统的应用程序的个人设置,我希望用户能够获得一个代码,将每个属性的正确值转换为该对象。这样,他们就可以使用永久链接使用自己的设置访问应用程序

问题是:是否有一种方法或特定的技术可以将JSON序列化对象(即JSON字符串)转换为数字或十六进制代码?我见过几个网站从用户的角度做了类似的事情

因为我有一组有限的属性和可能的值,所以我的方法是对字符串进行硬编码(例如,如果属性1的值为x,字符串中的第一个字符为1,如果它的值为y,那么它的值为2,等等),但我想知道是否有最适合这种情况的方法。

让我们这样做吧

设置
是我用于测试的对象

var setup = { "abc" : "asdasd",
              "special" : "my wife hates me",
              "Kids" : 7564
};
生成链接的函数:

function generateLinkWithSpecialSetup(setup) {
    var str = JSON.stringify(setup);
    var hash = "";
    for(var i =0; i<str.length;i++) {
        hash += str.charCodeAt(i).toString(16);
    }
    return "example.com/special-setup/#" + hash;
}
函数生成器带特殊设置(设置){
var str=JSON.stringify(设置);
var hash=“”;

对于(var i=0;我工作得很有魅力!现在我为让你编写我本可以自己编写的代码感到难过…谢谢!
function findSetupFromHash() {
    var hash = window.location.hash.substring(1);
    var str = hex2a(hash);
    return JSON.parse(str);
}

function hex2a(hexx) {
    var hex = hexx.toString(); //force conversion
    var str = '';
    for (var i = 0; i < hex.length; i += 2)
        str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
    return str;
}