Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.07.2018, 14:06
Кандидат Javascript-наук
Отправить личное сообщение для Зосимов Посмотреть профиль Найти все сообщения от Зосимов
 
Регистрация: 11.02.2013
Сообщений: 102

Как прочитать не стандартный JSON
доброго дня.
есть файл file.json в котором содержатся строки
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}

подскажите пожалуйста, как считывать данные по по отдельности в виде таблицы:
John | Doe | 35 | Male | English | car | Honda
John | Doe | 35 | Male | English | car | Honda

пробую $.getJSON() но так как формат не совсем верный, выходит ошибка (
Ответить с цитированием
  #2 (permalink)  
Старый 19.07.2018, 14:16
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

var data = [{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"},
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"},
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"},
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}];

console.log(data.map(el=>Object.values(el).join(' | ')).join('\n'));
Ответить с цитированием
  #3 (permalink)  
Старый 19.07.2018, 14:33
Кандидат Javascript-наук
Отправить личное сообщение для Зосимов Посмотреть профиль Найти все сообщения от Зосимов
 
Регистрация: 11.02.2013
Сообщений: 102

Сообщение от j0hnik Посмотреть сообщение
console.log(data.map(el=>Object.values(el).join(' | ')).join('\n'));[/JS]
спасибо. но выходят 0 везде почему то

когда я делаю alert(data) то выводятся строки:
{"name":"John","lastName":"Doe","age":35,"gende r":"Male","department":"English","car":"Honda"}
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}

вот эти строки, я хотел привести к нормальном виду. желательно даже в <li> как то загнать каждую строку
Ответить с цитированием
  #4 (permalink)  
Старый 19.07.2018, 14:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Зосимов,
на сервере можно сделать JSON ?
Ответить с цитированием
  #5 (permalink)  
Старый 19.07.2018, 14:56
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

Сообщение от Зосимов Посмотреть сообщение
спасибо. но выходят 0 везде почему то

когда я делаю alert(data) то выводятся строки:
{"name":"John","lastName":"Doe","age":35,"gende r":"Male","department":"English","car":"Honda"}
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}

вот эти строки, я хотел привести к нормальном виду. желательно даже в <li> как то загнать каждую строку
набросок
var data = `{"name":"John","lastName":"Doe","age":35,"gende r":"Male","department":"English","car":"Honda"}
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}
{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}
`;

alert(data.trim().split(/\r?\n/).map(function(item) {
	var data = JSON.parse(item);
	return data.name + ' | ' + data.lastName;
}).join('\n'));
Ответить с цитированием
  #6 (permalink)  
Старый 19.07.2018, 14:57
Кандидат Javascript-наук
Отправить личное сообщение для Зосимов Посмотреть профиль Найти все сообщения от Зосимов
 
Регистрация: 11.02.2013
Сообщений: 102

Сообщение от рони Посмотреть сообщение
Зосимов,
на сервере можно сделать JSON ?
каждый раз при нажатии кнопки, записываются такие данные
let student = {  
    name: 'John',
    lastName: 'Doe',
    age: 35, 
    gender: 'Male',
    department: 'English',
    car: 'Honda' 
};

let data = JSON.stringify(student);

я так понимаю данные нужно привести в правильный формат?
Ответить с цитированием
  #7 (permalink)  
Старый 19.07.2018, 15:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Зосимов,
let arr = [];
let student = {
    name: 'John',
    lastName: 'Doe',
    age: 35,
    gender: 'Male',
    department: 'English',
    car: 'Honda'
};
arr.push(student)
let data = JSON.stringify(arr);
Ответить с цитированием
  #8 (permalink)  
Старый 19.07.2018, 15:24
Кандидат Javascript-наук
Отправить личное сообщение для Зосимов Посмотреть профиль Найти все сообщения от Зосимов
 
Регистрация: 11.02.2013
Сообщений: 102

Сообщение от рони Посмотреть сообщение
Зосимов,
let arr = [];
let student = {
    name: 'John',
    lastName: 'Doe',
    age: 35,
    gender: 'Male',
    department: 'English',
    car: 'Honda'
};
arr.push(student)
let data = JSON.stringify(arr);
теперь данные выглядят так в файле
[{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}]
[{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}]
[{"name":"John","lastName":"Doe","age":35,"gender": "Male","department":"English","car":"Honda"}]

осталось только их получить правильно с файла
Ответить с цитированием
  #9 (permalink)  
Старый 19.07.2018, 15:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Зосимов,
а нельзя всех студентов сначала добавить и только потом сделать JSON из массива?
Ответить с цитированием
  #10 (permalink)  
Старый 19.07.2018, 15:30
Кандидат Javascript-наук
Отправить личное сообщение для Зосимов Посмотреть профиль Найти все сообщения от Зосимов
 
Регистрация: 11.02.2013
Сообщений: 102

рони, к сожалению нет. получается каждый раз в файл добавляем записи.
они там хранятся и выводятся для просмотра.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно передать JSON из JSTL в Java Script? drno-reg Элементы интерфейса 22 10.08.2016 16:16
как принять два массива JSON imediasun1 Элементы интерфейса 1 10.04.2014 18:58
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Как парсить JSON на клиенте? uakoB Серверные языки и технологии 2 01.08.2013 09:41
Как вытаить json из удаленой страницы? (чужой страницы html) kadomsky AJAX и COMET 8 21.06.2013 11:13