2015-12-15 2 views
-2

Я получаю данные json от обслуживания. это мой JSON данные:как преобразовать данные json в angularJs

[ 
{ 
    "id":"1", 
    "body":"sample text", 
    "read":"true", 
    "checked":"true" 
}, 
{ 
    "id":"2", 
    "body":"sample text", 
    "read":"true", 
    "checked":"false" 
} 
] 

Я хочу, чтобы прочитать его как ид = 2, прочитать = верно, как преобразовать этот формат строки JSON с фактическим типом данных.

+0

что вы имеете в виду тип данных? –

+0

Вы уже должны иметь к нему доступ. Обратите внимание, что у вас есть массив, поэтому вам нужно будет делать данные [0] .id = 2; – Scottie

+0

тип данных означает, что я пытаюсь проверить логические значения true или false в моем контроллере, но они идут как «true» «false», а id - «1». – hanu

ответ

0

Вы хотите передать строку JSON в JSON.parse() function. Это вернет объект JavaScript, который вы можете использовать нормально.

1

Вам необходимо пройти через массив и обработать логические значения, которые в настоящее время представлены в виде текста. В приведенном ниже примере я использовал JSON.parse для обработки логического текста, а затем сохранил результат обратно в переменную read. Сохранить применимо к id, но я пошел на parseInt в этом случае.

.controller('MyCtrl', function($scope) { 

//example mock http call 
function getHttpData() { 
    return [{ 
    "id": "1", 
    "body": "sample text", 
    "read": "false", 
    "checked": "true" 
    }, { 
    "id": "2", 
    "body": "sample text", 
    "read": "true", 
    "checked": "false" 
    }]; 
} 

function getData() { 
    var data = getHttpData(); 

    //process array as required 
    data.forEach(function(value) { 
    value.id = parseInt(value.id); 
    value.read = JSON.parse(value.read); 
    }); 

    return data; 
} 

$scope.data = getData(); 
}); 

Fiddle здесь: https://jsfiddle.net/tmakin/cvzc4mks/5/

Смежные вопросы