2016-03-28 3 views
1

У меня есть файл .txt с некоторыми данными. Я беру данные с угловым сервисом $http. Но проблема в том, что данные не в формате json, но есть некоторые основные правила, что я могу преобразовать их в json.AngularJS простой текст parse с некоторыми простыми правилами

Вот пример данных: (я пишу только первую строку, остальные строки аналогичны первому)

Есть 12 цитат с некоторыми данными.

"123456789","some data","some data","some data","some data","some data","some data","some data","some data","some data","some data","some data" 

После указанной выше строки новая линия начинается с аналогичной структуры.

Как я могу разобрать его формат обмена данными, например json? См. Аналогичные question and answer.

ответ

3

Его можно преобразовать в массив значений, используя split.

var text = '"123456789","some data","some data","some data","some data","some data","some data","some data","some data","some data","some data","some data"'; 

text = text.split(','); 
console.log(text); 

JSFiddle

+0

Большое спасибо. Но в вашем решении есть проблема. Вы помещаете его в массив, и, например, я могу напечатать номер 2 с текстом [2]. Но о текстовой части я не знаю, сколько символов у нее есть. –

+1

мм? нет, вы можете напечатать каждое значение по его номеру ключа, начиная с 0, поэтому array [0] будет «123456789», в то время как массив [3] будет «некоторыми данными» –

+0

Нет, он не работает, как вы говорите. Каждый индекс представляет собой один символ, а не всю строку. –

2

Другой подход заключается в использовании JSON.parse():

var elements = JSON.parse('["123456789","some data","some data","some data","some data","some data","some data","some data","some data","some data","some data","some data"]'); 
console.dir(elements); 

Это имеет то преимущество, что он правильно анализирует значения, содержащие запятые "".

+0

Большое спасибо. –