曾經看過乙個大牛寫的實現json的乙個模板類,今天突然沒事就來自己試著寫寫。還好,一些東西還記得,思路還算清晰。直接上**了
其實很簡單,我這部分**,前一部分是簡單的實現如何使用js寫模板,第二個就是具體的實現了json查詢的乙個擴充套件。
以後查詢json就有了利器了。
複製**
**如下: /*
* 定義模板函式
*/var template = function (queryarr)
}return count;}/*
* 模板建立函式
*/var createintance = function (exp)
var testtodo = function () ,,,
];var func = createintance("e.age>=25");
alert(func(testarr));
}/****************** js 實現 json查詢 **********************/
// 定義常用的函式
var len = function (s)
var left = function (s, n)
var right = function (s, n)
var index = function (s, find)
// 擴充套件原型方法
var _proto = object.prototype;
// 快取,解決快速查詢
var _cache = {};
// 擴充套件運算子
var _alias = [
/@/g, "_e.",
/and/gi, "&&",
/or/gi, "||",
/<>/g, "!=",
/not/gi, "!",
/([^=<>])=([^=]|$)/g, '$1==$2'
];var _rquote = /""/g;
var _rquotetemp = /!~/g;
// 編譯
var _complite = function (code)
// 將擴充套件符號轉換成標準的js符號
var _interpret = function (exp)
}arr[i] = s;
}for (var i = 1; i < n; i += 2)
return arr.join('"');
}// 定義模函式
var _templ = function (_list) }}
return _ret;
} .tostring();
// 擴充套件查詢的方法
_proto.query = function (exp)
var fn = _cache[exp];
try
return fn(this);
} catch (e)
}var dotest = function () ,,,
,,,//...
];var match = heros.query('@str>20 and @dex>20');
showresult(match[0]);
// 查詢:「士」結尾的
// 結果:沉默術士,劇毒術士,鍊金術士
var match = heros.query('right(@name,1)="士"');
showresult(match[0]);
}function showresult(result)
js結合json實現ajax簡單例項
前期準備 1 安裝wampserver或者其他相似軟體來搭建本地整合安裝環境,我安裝的是phpstudy 2 html js css等檔案需要放置在phpstudy中的www目錄中,預設執行index頁面 3 bootstrap.css 介面截圖 phpstudy用起來很方便,如果你的電腦沒有安裝過...
js讀取json方法
json也是物件,可以直接使用物件呼叫 var json json.contry.area.man 12萬 1 不安全的方法 var json 方式一 使用eval解析 var obj eval json alert obj.constructor alert obj.contry.area.wom...
Python操作json的方法例項分析
python中對json操作方法有兩rszxf種,解碼loads 和編碼dumps 簡單來說 import json dicts json.loads loads 方法,將json串解碼為python物件,字典 json json.dumps dicts dumps 方法,將python字典編碼為j...