제목 | JSON 처음 대괄호 삭제방법 질문드립니다. | ||
---|---|---|---|
글쓴이 | 일용직노동자 | 작성시각 | 2014/09/18 04:36:15 |
|
|||
CI를 이용한 쇼핑몰 구현중입니다. JSON으로 출력하고 AJAX로 상품목록 처리할려는데 JSON 처음 [](대괄호)때문에 deps를 제대로 못찾는 것 같습니다. [ { "result": [ { "item": { "iNo": "156", "IName": "동아 애니볼 4색볼펜", "IImg2": "http://www.a.com/file/itemimg/550_380/a.jpg", "I_SET_TYPE": "N", "IAskKum": "1500", "URL": "http://www.a.com/item/?cNo=231&iNo=151236" } } ] } ] 여기서 처음 과 마지막 []을 삭제하고싶은데 어떻게해야되나요? --- model 소스 --- function shoppingItemlist(){ //$this->db->select('*'); //$this->db->from('blogs'); //$this->db->join('comments', 'comments.id = blogs.id'); //$query = $this->db->get(); // 생성결과: // SELECT * FROM blogs // JOIN comments ON comments.id = blogs.id // 레퍼런스 참고 : http://cikorea.net/user_guide_2.1.0/database/active_record.html $itemList['result'] = array(); //아이템리스트 배열 $removeLF = array(); //개행문자 제거를 위한 배열 선언 $imgSrc = "http://a.com/file/itemimg/550_380/"; $httpSrc = "http://a.com/item/?"; $itemSrc = "iNo="; $categorySrc = "cNo="; $where = "I_STOCK_STATE='Y'"; $this->db->select(' Category.C_CODE, Category.I_CODE, Item.IDX, Item.I_KOR_NAME, Item.I_LIST_IMG2, Item.I_SET_TYPE, Item.I_ASK_PRICE', FALSE); //'' escape처리를 위한 2번째파라미터 false $this->db->from('TBL_ITEM AS Item'); $this->db->join('TBL_DISPLAY AS Category', 'Category.I_CODE = Item.IDX', 'INNER'); $this->db->where($where); $this->db->order_by("C_CODE", "ASC"); $query = $this->db->get(); if ($query->num_rows() > 0){ //query의 결과가 1행이상 있을시 foreach ($query->result_array() as $rows){ //array로 결과값출력 rows로 result함수 사용불가 $removeLF = preg_replace("/\n/", "", $rows['I_LIST_IMG2']); //개행문자 제거 $item['item'] = Array ( "INo" => $rows['IDX'], "IName" => urlencode($rows['I_KOR_NAME']), "IImg2" => urlencode($imgSrc).$removeLF, "I_SET_TYPE" => $rows['I_SET_TYPE'], "IAskKum" => $rows['I_ASK_PRICE'], "Url" => urlencode($httpSrc).$categorySrc. $rows['C_CODE']."&".$itemSrc.$rows['IDX'] ); //json 배열저장 array_push($itemList['result'], $item); //var_dump($rows); } } return $itemList; } }//EOF --- controller 소스 --- function shoppingItemlist(){ $this->output->set_header('Content-Type: application/json; charset=utf-8'); $query = $this->getitems->shoppingItemlist(); $itemList_ret = json_encode(array($query)); echo urldecode($itemList_ret); //var_dump($query); } --- view에서 ajax 컨트롤 소스 --- $.ajax({ type : "POST" ,url : "http://www.a.com/getdata/shoppingItemlist" ,async : false ,dataType: "JSON" ,success : loadItemlist }); function loadItemlist(json){ var item_list = json.result; var item_cnt = item_list.length; $.each(item_list, function(key){ var item_info = item_list[key].item; var item_idx = item_info.INo; var item_name = item_info.IName; var item_imgSrc = item_info.IImg2; var item_price = item_info.IAskKum; var item_url = item_info.Url; var strHtml = ""; strHtml += ' ';
';strHtml += ' '; strHtml += ' ';
';strHtml += ' '+item_name+' '; strHtml += ' '+price+'원'; strHtml += ' '; strHtml +=' strHtml +=' $('.tvShopping_contents').append(strHtml); }); } |
|||
다음글 | 임시 테이블 생성...문제 (4) | ||
이전글 | 기본 베이스는 영카트5를 그대로 쓰고 새로운 기능은 코... (3) | ||
변종원(웅파)
/
2014/09/18 08:04:54 /
추천
0
결과가 여러개이면 정상이구요.
한개라면 row_array()로 해야 대괄호가 없어집니다.
|
일용직노동자
/
2014/09/18 10:23:42 /
추천
0
$itemList_ret = json_encode(array($query)); 이걸 $itemList_ret = json_encode($query);로 바꿔서 해결됬습니다
|