123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367 |
-
- Namespace.register("U.Json");
- U.Json.init = function () {
- if (!window.JSON) {
- window.JSON = {
- stringify: U.Json.stringify,
- parse: U.Json.parse
- };
- }
- }
- U.Json.stringify = function (json) {
- return U.UF.C.jsonToStr(json);
- }
- U.Json.parse = function (str) {
- return str.parseJSON();
- }
- U.Json.ifExists = function (key1, key2) {
- if (key2 === key1) {
- return true;
- }
- for (var i in key1) {
- if (key1[i] != key2[i]) {
- return false;
- }
- }
- return true;
- }
- U.Json.add = function (obj1, obj2) {
- var i;
-
- if (!Array.isArray(obj1)) {
- for (i in obj2) {
- obj1[i] = obj2[i];
- }
- }
-
- else {
- for (i = 0; i < obj1.length; i++) {
- U.UF.C.AddObj(obj1[i], obj2);
- }
- }
-
- return obj1;
- }
- U.Json.find = function (obj, key, value) {
- }
- U.Json.del = function (obj, key, data) {
- data = data || obj;
- var i,
- _deldata,
- _delarray = [];
-
- if (Array.isArray(data)) {
- for (i = 0; i < data.length; i++) {
-
- _deldata = U.Json.del(obj, key, data[i]);
- if (_deldata.length) {
- data.splice(i, 1);
- _delarray = _delarray.concat(_deldata);
- i--;
- }
- }
- }
- else if (typeof data == "object") {
- if (U.Json.ifExists(key, data)) {
- delete data;
- _delarray.push(data);
- }
- else if (key === true) {
- for (i in data) {
- _deldata = U.Json.del(obj, key, data[i]);
- _delarray = _delarray.concat(_deldata);
- }
- }
- else if (key && data[key]) {
- _deldata = U.Json.del(obj, key, data[key]);
- _delarray = data.concat(_deldata);
- }
- }
- return _delarray;
- }
- U.Json.select = function (arr, obj, num) {
- var i,
- _bool,
- _res = [];
-
- if (Array.isArray(arr)) {
-
- for (i = 0; i < arr.length; i++) {
-
- _bool = true;
-
- for (var j in obj) {
-
- if (arr[i][j] != obj[j]) {
- _bool = false;
- }
- }
-
- if (_bool) {
- _res.push(arr[i]);
- }
-
- if (_res.length == num) {
- break;
- };
- }
- }
-
- return _res;
- }
- U.Json.selectOne = function (arr, obj) {
- return (U.Json.select(arr, obj, 1))[0];
- }
- U.Json.sort = function (arr, key, isreverse) {
- isreverse = isreverse || 1;
-
- arr = arr.sort(function (obj1, obj2) {
- var _value,
- _type,
- _value1 = obj1[key],
- _value2 = obj2[key],
- _isobj = U.UF.C.isObject(obj1);
-
- if (_isobj) {
- _type = (typeof (obj1[key] || obj2[key])).capitalizeFirstLetter();
- }
-
- else {
- _type = (typeof obj1).capitalizeFirstLetter();
- }
-
- if (_type == "Number") {
- _value = _value1 > _value2;
- }
-
- else if (_type == "Date") {
- _value = U.UF.D.SizeComparison(_value1, _value2);
- }
-
- else if (_type == "String") {
- _value = _value1.localeCompare(_value2) == 1;
- }
-
- else {
- _value = true;
- }
-
- _value = isreverse * (_value ? 1 : -1);
- return _value;
- });
- return arr;
- }
- U.Json.toKeyArray = function (arr, key) {
- var i,
- _returnarr = [];
-
- for (i = 0; i < arr.length; i++) {
- _returnarr.push(arr[i][key]);
- }
-
- return _returnarr;
- }
- U.Json.like = function (arr, obj, num) {
- var i,
- _bool,
- _res = [];
-
- if (Array.isArray(arr)) {
-
- for (i = 0; i < arr.length; i++) {
-
- _bool = false;
-
- for (var j in obj) {
-
- if (arr[i][j] && (arr[i][j].indexOf(obj[j]) > -1 || obj[j].indexOf(arr[i][j]) > -1)) {
- _bool = true;
- }
- }
-
- if (_bool) {
- _res.push(arr[i]);
- }
-
- if (_res.length == num) {
- break;
- };
- }
-
- return _res;
- }
- }
|