>웹 프론트엔드 >JS 튜토리얼 >json의 데이터 구조를 쿼리하는 8가지 방법 소개_기본 지식

json의 데이터 구조를 쿼리하는 8가지 방법 소개_기본 지식

WBOY
WBOY원래의
2016-05-16 16:55:54886검색

json의 데이터 구조를 쿼리하는 8가지 방법:

JsonSQL

JsonSQL은 SQL select 문을 사용하여 json 데이터 구조에서 쿼리하는 기능을 구현합니다. 홈페이지: http://www.trentrichardson.com/jsonsql/

예:

코드 복사 코드는 다음과 같습니다.

jsonsql.query( "json.channel.items 제목 설명별로 순서에서 * 선택",json);

JSON경로

JSONPath는 JSON 데이터 구조의 XPath와 같습니다. 홈페이지: http://goessner.net/articles/JsonPath/

예:

코드 복사 코드는 다음과 같습니다.

jsonPath( books, '$..book[(@.length-1)]')

제이펑크

jFunk를 사용하면 복잡한 JSON 또는 Javascript 개체를 검색하고 곧 관리할 수 있습니다. jFunk API의 디자인은 jQuery API와 거의 유사합니다. DOM을 대상으로 하는 API를 제외하고 jQuery의 API를 직접 복사합니다.
홈페이지: http://code.google.com/p/jfunk/

예:

코드 복사 코드는 다음과 같습니다.

Jf("> ; 야채 > ; *[color=Orange]",Food).get();

태피DB

과거에 Javascript 객체 리터럴이 레코드와 매우 유사하다는 사실을 알아차린 적이 있습니까? 배열로 포장하면 데이터베이스 테이블처럼 보입니까? TaffyDB는 이전 아이디어를 구현하기 위한 강력한 데이터베이스 기능을 제공하는 Javascript 라이브러리로, Javascript에서 데이터 작업 방식을 크게 향상시킵니다.
홈페이지: http://www.taffydb.com/

예:

코드 복사 코드는 다음과 같습니다.

var kelly = friends ({id :2}).first();

linq.js

linq.js - Javascript의 LINQ

코드 복사 코드는 다음과 같습니다.

var queryResult2 = Enumerable.From(jsonArray)
.Where("$.user.id < 200")
.OrderBy("$.user.screen_name")
.Select("$. user .screen_name ':' $.text")
.ToArray();

객체

objeq는 POJSO(Plain-Old JavaScript Objects, 일반 Javascript 개체)의 실시간 쿼리를 구현하는 간단한 라이브러리입니다. 홈페이지: https://github.com/agilosoftware/objeq

코드 복사 코드는 다음과 같습니다.

var res = $objeq(data, "age > 40 && 성별 == '여성' -> 이름");
// --> ['제시카']를 반환합니다

(주석: Javascript 속성 설정자를 사용하므로 최신 브라우저에서만 작동합니다.)

json:select()

CSS와 유사한 선택기를 사용하여 JSON을 쿼리합니다. 홈페이지: http://jsonselect.org/#tryit

코드 복사 코드는 다음과 같습니다.

.lang:val("불가리아어") ~ .level

Paul's Programming Pearls의 Javascript 배열 필터링 방법, 홈페이지: http://www.paulfree.com/28/javascript-array-filtering/#more-28

코드 복사 코드는 다음과 같습니다.

var a = [1,2,3,4,5,6,7 , 8,9,10];
// 모든 항목 반환
a.where( "( ) => true" ) ;
// --> 5 ,6,7,8,9,10]
// 짝수 반환
a.where( "( n, i ) => n % 2 == 0" ) ;
// - -> [2,4,6,8,10]
// 추가 매개변수와 정규식을 사용하여 카테고리가 'con'으로 시작하는 처음 6개 제품을 쿼리합니다
products.where( "( el, i, res , param ) => res.length <= 6 && param.test( el.cat )", /^con/i);
// SQL Server northwind 데이터베이스의 고객 테이블 데이터 사용... "
customers.where( "( el, i, res, param ) => el.country == param", "USA" );

현재 이것은 JSON 데이터 구조를 쿼리하는 데 제가 가장 좋아하는 방법입니다. 매우 간단하며 저자에 따르면 속도가 매우 빠릅니다.
그 뒤에 숨은 아이디어는 John Resig의 JavaScript Micro-Templating과 유사합니다. 올바른 표현식을 사용하여 매우 간단한 문자열을 Javascript 함수로 변환합니다.
물론 더 강력한 솔루션이 있습니다. Paul이 구현한 프로토타입에는 필터 표현식에 대한 구문 검사도 부족하지만 Javscript의 구문 검사를 직접 해결할 수 있어야 한다고 생각합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.