将JSON对象转换为数字字符串,反之亦然
Transform JSON Object into numerical String and vice versa
(抱歉,如果有类似的问题,我找不到)
基本上我有一个JSON对象约10个属性(固定金额),其中包含个人设置的应用程序没有用户系统,我希望用户能够获得一个代码,转换为该对象与适当的值为每个属性。这样,他们就可以使用永久链接访问应用程序的设置。
问题是:是否有一种方法或特定的指示技术将JSON序列化对象(即JSON字符串)转换为数字或十六进制代码?从用户的角度来看,我已经看到一些网站做了类似的事情。
我的方法,因为我有一组有限的属性和可能的值将是硬编码字符串(例如,如果属性1有值x,字符串中的第一个字符是1,如果它有值y,那么它是2,等等…),但我想知道是否有什么最适合这种事情。
让我们这样做。
setup
是我用来测试的对象
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;
}
函数从hash中查找setup:
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;
}
相关文章:
- 制作一个regex来验证只有一个数字的字符串
- 如何限制一个字段只接受4个数字字符作为输入,并获得'It’这是潜水警报
- Javascript中的正则表达式,用于只有数字的字符串,并且不应在除数字以外的任何位置包含任何字符
- 为什么Javascript中的整数加空格加字符串会导致数字和字符串的总和?(2++'22'=24)
- 在另一个由非字母数字字符分隔的字符串中搜索(任何)字符串
- 角度.js - 将带有特殊字符和数字的字符串转换为数组并使用 ng-repeat 显示
- 用于测试字符串是否具有数字字符的条件
- 正则表达式检查字符串是否仅包含字母数字字符和空格 - javascript
- 如何在 Javascript 中从字符串的开头和结尾修剪所有非字母数字字符
- Javascript字符串替换-RegEx用于非字母数字字符,如Backslash、Greater Than等
- 如何在正则表达式中用一个S或E字符和JavaScript中的数字分隔字符串
- Javascript正则表达式,用于匹配空字符串、非数字字符或超过1位的数字
- 如何使用javascript从数组中的字符串中删除alpha数字字符
- 当字符串包含非数字字符时,parseFloat()是如何工作的?
- Javascript中包含非数字字符的字符串中的数字数组
- 在Javascript中从字符串中提取字母数字字符的快速方法
- 如何从包含字符和数字的字符串中提取最后一个数字
- 用于检查字符串是否至少包含3个字母数字字符的最有效正则表达式
- 对字符串中至少包含一个字母数字字符的单词进行计数
- 将字符串中任何非字母数字字符的多次出现减少到一个,**不删除**