JSON 데이터에 대한 SQL 유사 쿼리를 허용하는 Javascript 라이브러리
JSON 데이터가 단일 MySQL 테이블에서 가져온다고 가정해 보십시오.
someJSON = [ { name: 'bill' , sex:'M', income:50000 },
{ name: 'sara' , sex:'F', income:100000 },
...
];
의사 코드는 다음과 같습니다.
"모든 개인 객체 가져오기sex:F의income> 60000' 입니다.
이 JSON 데이터에 대해 SQL 또는 SQL 유사 구문을 사용하여 이러한 쿼리를 코드화할 수 있는 Javascript 라이브러리가 있습니까?
궁금하신 점이 있으시면, 몇 가지 문맥을 알려주세요.
미래의 백엔드가 어떻게 될지 모른 채 조직을 위한 데이터 분석 웹 서비스의 프런트 엔드를 만들고 있습니다.향후 MS Access 테이블에서 MySQL 유형의 데이터베이스로 데이터를 이행할 예정입니다.그때까지 저는 정적 JSON 파일을 사용하여 개발을 시작하고 있으며, 향후 javascript 쿼리를 MySQL 쿼리로 표시하는 것이 도움이 될 것으로 생각하고 있습니다.(현재 MS Access 데이터베이스는 웹에서 도달할 수 없습니다).
jslinq를 확인합니다.
var myList = [
{FirstName:"Chris",LastName:"Pearson"},
{FirstName:"Kate",LastName:"Johnson"},
{FirstName:"Josh",LastName:"Sutherland"},
{FirstName:"John",LastName:"Ronald"},
{FirstName:"Steve",LastName:"Pinkerton"}
];
var exampleArray = JSLINQ(myList)
.Where(function(item){ return item.FirstName == "Chris"; })
.OrderBy(function(item) { return item.FirstName; })
.Select(function(item){ return item.FirstName; });
alahql.js를 사용해 볼 수 있습니다.JSON 개체에 대한 쿼리를 수행할 수 있는 순수 JavaScript 클라이언트 측 SQL 서버입니다.
// Fill table with data
var data = [ { name: 'bill' , sex:'M', income:50000 },
{ name: 'sara' , sex:'F', income:100000 }];
// Do the query
console.log(alasql("SELECT * FROM ? WHERE sex='F' AND income > 60000",[data]));
바이올린으로 시험해 보다
나는 Taffydb를 쓴다.TaffyDB는 데이터베이스 기능을 JavaScript 응용 프로그램에 가져오는 오픈 소스 라이브러리입니다.http://taffydb.com/
과거 구글 검색에서 javascript 라이브러리와 같은 linq를 몇 개 본 적이 있습니다.
편집- 여기 몇 개 있습니다.
http://linqjs.codeplex.com/
http://jslinq.codeplex.com/
http://jsinq.codeplex.com/ <--이것 참 멋진 놀이터입니다.
완전한 쿼리 기능을 갖춘 JSON 스타일의 데이터 저장소인 MongoDB를 확인하는 데 관심이 있을 것입니다.쿼리 구문은 다음과 같습니다.
db.users.find({'last_name': 'Smith'})
예제 질문의 경우:
db.users.find({'sex': 'F', 'income' : {$gt : 60000}})
당신이 찾고 있는 것과 비슷한 것 같은 JsonSql도 있습니다.유일한 문제는 2007년 12월 30일에 업데이트가 되지 않았다는 것입니다.여전히 가지고 놀 수 있는 코드가 있다.
JSONPath라는 XPath 스타일 쿼리도 있는데 http://goessner.net/articles/JsonPath/를 좋아합니다.
또한 데이터를 필터링하는 사용자 jQuery 스타일 셀렉터에는 http://code.google.com/p/jfunk/이 있습니다.
어떤 브라우저/버전을 지원해야 하는지에 따라 HTML5 클라이언트 측 SQL을 사용하여 JSON 데이터를 하나 이상의 테이블에 푸시하고 진정한 SQL 쿼리의 성능을 활용합니다.
사양서 초안을 소개합니다.http://www.w3.org/TR/webdatabase/
오래된 질문인 건 알지만 구글 검색을 통해 찾아왔습니다.난 그냥 오브제크 얘기를 듣고 있는 거야.꽤 유망해 보이는데 당신이 찾고 있는 것이 바로 그것입니다.
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="linq.js"></script>
<script type="text/javascript">
var jsonArray = [
{ "user": { "id": 100, "screen_name": "d_linq" }, "text": "to objects" },
{ "user": { "id": 130, "screen_name": "c_bill" }, "text": "g" },
{ "user": { "id": 155, "screen_name": "b_mskk" }, "text": "kabushiki kaisha" },
{ "user": { "id": 301, "screen_name": "a_xbox" }, "text": "halo reach" }
]
// ["b_mskk:kabushiki kaisha", "c_bill:g", "d_linq:to objects"]
var queryResult = Enumerable.From(jsonArray)
.Where(function (x) { return x.user.id < 200 })
.OrderBy(function (x) { return x.user.screen_name })
.Select(function (x) { return x.user.screen_name + ':' + x.text })
.ToArray();
// shortcut! string lambda selector
var queryResult2 = Enumerable.From(jsonArray)
.Where("$.user.id < 200")
.OrderBy("$.user.screen_name")
.Select("$.user.screen_name + ':' + $.text")
.ToArray();
console.log(queryResult);
console.log(queryResult2);
</script>
</head>
<body>
</body>
</html>
언급URL : https://stackoverflow.com/questions/4720494/javascript-libraries-that-allow-for-sql-like-queries-on-json-data
'programing' 카테고리의 다른 글
| Opcache에서 memcached가 필요합니까? (0) | 2023.02.23 |
|---|---|
| 컨트롤러에 동적으로 의존하는 $inject 방법 (0) | 2023.02.23 |
| Oracle SQL 개발자 도구에서 .sql 파일을 실행하여 데이터베이스를 가져오려면 어떻게 해야 합니까? (0) | 2023.02.23 |
| WordPress 3.5 미디어 매니저를 열 때 이미지 사전 선택 (0) | 2023.02.23 |
| 노드에서의 AJAX 요구 검출Express가 있는 JS (0) | 2023.02.23 |