/**
 * JSON 인코더
 * @param array $val
 * @return string
 */
function kboard_json_encode($val)
{
    if (function_exists('json_encode')) {
        return json_encode($val);
    }
    /*
     * http://kr1.php.net/json_encode#113219
     */
    if (is_string($val)) {
        return '"' . addslashes($val) . '"';
    }
    if (is_numeric($val)) {
        return $val;
    }
    if ($val === null) {
        return 'null';
    }
    if ($val === true) {
        return 'true';
    }
    if ($val === false) {
        return 'false';
    }
    $assoc = false;
    $i = 0;
    foreach ($val as $k => $v) {
        if ($k !== $i++) {
            $assoc = true;
            break;
        }
    }
    $res = array();
    foreach ($val as $k => $v) {
        $v = kboard_json_encode($v);
        if ($assoc) {
            $k = '"' . addslashes($k) . '"';
            $v = $k . ':' . $v;
        }
        $res[] = $v;
    }
    $res = implode(',', $res);
    return $assoc ? '{' . $res . '}' : '[' . $res . ']';
}
Ejemplo n.º 2
0
 /**
  * 게시판 데이터를 JSON 형식으로 반환한다.
  */
 public function getJsonList()
 {
     $list = $this->getList();
     $data = array();
     while ($content = $list->hasNext()) {
         $_data['uid'] = $content->uid;
         $_data['member_uid'] = $content->member_uid;
         $_data['member_display'] = $content->member_display;
         $_data['title'] = $content->title;
         $_data['content'] = $content->secret != 'true' ? $content->content : '';
         $_data['date'] = $content->date;
         $_data['view'] = $content->view;
         $_data['comment'] = $content->comment;
         $_data['like'] = $content->like;
         $_data['thumbnail_file'] = $content->thumbnail_file;
         $_data['thumbnail_name'] = $content->thumbnail_name;
         $_data['category1'] = $content->category1;
         $_data['category2'] = $content->category2;
         $_data['secret'] = $content->secret;
         $_data['search'] = $content->search;
         $_data['attach'] = $content->attach;
         $_data['option'] = $content->option;
         $data[] = $_data;
     }
     return kboard_json_encode($data);
 }