programing

JSON 데이터에 대한 SQL 유사 쿼리를 허용하는 Javascript 라이브러리

easyjava 2023. 2. 23. 23:06
반응형

JSON 데이터에 대한 SQL 유사 쿼리를 허용하는 Javascript 라이브러리

JSON 데이터가 단일 MySQL 테이블에서 가져온다고 가정해 보십시오.

someJSON =    [ { name: 'bill' , sex:'M', income:50000 },
                { name: 'sara' , sex:'F', income:100000 },
                 ...
               ];

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

"모든 개인 객체 가져오기sex:Fincome> 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

반응형