JS 實現Json查詢的方法例項

2021-07-03 19:31:19 字數 1768 閱讀 7183

曾經看過乙個大牛寫的實現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...