[英]Transform JSON Object into numerical String and vice versa
(很抱歉,如果有人提出類似問題,我找不到)
基本上,我有一個帶有大約10個屬性(固定數量)的JSON對象,其中包含不帶用戶系統的應用程序的個人設置,我希望用戶能夠獲得將每個屬性具有正確值的代碼轉換為該對象的代碼。 這樣,他們將能夠使用固定鏈接使用其設置訪問應用程序。
問題是:是否存在將JSON序列化對象(即JSON字符串)轉換為數字或十六進制代碼的方法或特定指示技術? 從用戶的角度來看,我已經看到幾個網站做類似的事情。
我的方法是因為我有一組有限的屬性,可能的值是對字符串進行硬編碼(例如,如果屬性1的值為x,則字符串中的第一個char為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;
}
從哈希中查找設置的函數:
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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.