2013-04-11 2 views
0

Я использую метод get() в преобразователе данных для выбора столбцов из базы данных. Я передаю этот объект json_encode(); Когда я делаю это, я получаю эту ошибкуCodeIgniter с datamapper ORM

json_encode() type is unsupported, encoded as null 

Update три

["{\"id\":1,\"name\":\"JOHN\",\"city\":\"null\"}" 
,"{\"id\":2,\"name\":\"MICHEAL\,\"city\":\"null\"}"] 

Это мой ответ, я не выбирать город, но по-прежнему появляется город. Как получить JSON в правильном формате

SyntaxError: JSON.parse: неожиданный непробельным характер после JSON данных

[Break On This Error] 

var jsonData = JSON.parse(data); 
+0

Вы используете это в модели? – Crowlix

+0

@Crowlix: Спасибо, что нашли время, чтобы ответить на мой вопрос. В моем режиме у меня есть этот класс кода. Теги расширяют DataMapper {}. Должен ли я вставлять приложение/datamapper в мою папку с воспламенителем кода. Можете ли вы сказать мне, как обычно, использовать get() и передать этот объект json_enocde. – user2261231

ответ

0

Кодирование объекта DataMapper на объект JSON требует функцию от расширения. Вы можете найти способы импортировать расширения здесь: http://datamapper.wanwizard.eu/pages/extensions.html Это один из способов сделать это:

class Test extends DataMapper { 

    // Include the json extension 
    var $extensions = array('json'); 
....... 

    $test= new Test();     
    $test->where('id', $this->input->post('id')); 
    $test->select('id,name'); 
    $test->get(); 
    $test->set_json_content_type(); 
    echo $test->all_to_json(); 

Тот факт, что колонка «город» есть нормально. Из руководства пользователя DataMapper:

The object is populated with all objects from its corresponding table, but with only the title and description fields populated

для декодирования JSON, вам нужно использовать этот метод (не забудьте импортировать расширение, если вы еще не сделали)

$n = new Test(); 
$n->from_json([put your JSON string here]); 
+0

: Если я использую, echo $ test-> all_to_json(); Я получаю вывод с помощью slashses в JSON. Теперь проблема слэш, если я удаляю косые черты, я должен идти. – user2261231

+0

btw, вы должны удалить некоторые из своих комментариев. Это становится немного грязным: p – Crowlix

+0

: Я опубликовал обновление по-моему, но проблема существует. – user2261231

0

I убежище» т используется DataMapper для CI, но я уверен, что вы должны делать следующее:

$test= new Test();     
$test->select('id,tag_name'); 
$test->where('id', $this->input->post('id')); 
$test->get(); 
json_encode($test); 

Примечание: вызов -> Get() должен быть последний вызов, прежде чем использовать переменную $ тест на JSON кодировать ,