Joomla 응용 프로그램에서 jQuery 위젯을 사용하고 있습니다. 위젯의 데이터는 객체와 json 형식이어야합니다. Joomla 프레임 워크의 데이터베이스 기능없이 데이터베이스에서 직접 데이터를 검색 할 때 얻을 수 있습니다.JSON 데이터 개체 또는 배열, 확인하는 방법?
물론 Joomla MVC 구조에서 수행하고 싶습니다. Joomla 데이터베이스 기능을 활용하고 싶습니다. 그것을 할 때 위젯에 출력이 없습니다.
이전에 배열로 전달할 때 객체로 전달할 때 데이터가 표시되지 않습니다.
내 문제는 다음과 같습니다. 데이터베이스에서 직접 데이터를 생성하고 Joomla 데이터베이스 구조를 사용하면 화면에 에코 될 때 똑같은 결과가 생성되지만 하나는 눈금에 표시되고 다른 하나는 표시되지 않습니다. 이전의 문제에서도 마찬가지 였지만이 경우 동일한 데이터에서 json_encode를 두 번 호출했지만 표시되는 데이터에는 아무런 차이가 없었지만 하나는 작동하고 다른 하나는 그렇지 않습니다.
내 질문 : 아직 JSON 데이터에 익숙하지 않지만 데이터가 개체 또는 배열로 표시되는지 확인하는 방법이 있습니까? 이것은 아마도 매우 바보 같은 질문 일지 모르지만 데이터에 차이가 있어야하며 단순히 그것을 보았을 때, 당신이 그것을 볼 수 없거나, 뭔가를 놓치고있는 것처럼 보입니다.
업데이트 : 응답 감사합니다. 나는 며칠 동안 이것에 앉아 있었다!! 그것은 Joomla 데이터베이스 함수와 함께 지금 일하고있다, 그것은 json 인코딩을 제외하고 내 코드로 사소한 문제가있는 것 같지만 그들이 json_encode를 모델과 컨트롤러 모두에서 사용하기 전에 정확히 이렇게 보였다. 따라서 double json으로 인코딩했다. , 작동하지 않았지만 Joomla 외부에서 생성 된 경우 작동했습니다 (json_encoding의 단일 사용). Joomla의 외부에서 생성 된 것을보고 double json 인코딩을 한 후에 두 가지 모두 똑같이 보였으므로 출력을 보면서 문제를 찾지 못했습니다. []
및 {}
에 관한 정보, 즉 여기 통찰력 만에
덕분에 내 코드의 예입니다
[{"TotalRows":2,"Rows":[{"login_id":"122","cust_id":"0","shop_id":"0","nickname":null,"shopicon":null,"website":null,"shopname":null, "username":"","password":"","dob":"0000-00-00","comments":null},
{"login_id":"25","cust_id":"57","shop_id":"42","nickname":"qwerty","shopicon":"shop.ico","website":"http:\/\/www.shop.co.uk","shopname":"Shop","username":"eqweq","password":"wqewqeq","dob":"1981-12-14","comments":"qwqeqeqw"}]}]
어떻게 그것을 배열이나 객체인지이에서 알 수 있습니까?
{} = object, [] = array. 샘플이 도움이 될 것입니다. 또한, 당신은 구문을 확인할 수 있습니다 : http://jsonlint.com/ –
괜찮은 곧장 앞으로 보인다 ... Joomla 데이터베이스 구조는 그렇게 어렵지 않다. $ result = $ db-> loadObject()'와 함께'$ db-> setQuery ($ query); '를 사용해야하는데, 이제 php 객체가 생겼습니다. 단순히 echo'json_encode ($ result);를 사용하면 json 객체를 클라이언트에 출력 할 것이고, 클라이언트는'$ .parseJSON'을 사용하여 파싱 할 수 있습니다. 아약스를 사용한다면'dataType = "json"과 자동으로 구문 분석합니다. 'obj.prop'에 의해 객체 프라퍼티에 접근 할 수 있습니다. – Ohgodwhy
@Diodeus가 말한 것에 대해 더 자세히 설명합니다 ... {}은 객체이지만'' ''로 묶여 있으면 문자열 일 수도 있습니다. 이것은 JSON 문자열이며 객체가 아닙니다. – Ohgodwhy