Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.01.2019, 17:47
Интересующийся
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 26

Записать данные из переменных в локальный JSON
Есть локальный JSON вида:
Код:
{
  "1": {
    "title":"My Lesons",
    "autor":"CryNet",
    "date":"10.01.19",
    "text":"Текст"
  },

  "2": {
    "title":"My articles",
    "autor":"CryNet",
    "date":"09.01.19",
    "text":"Текст текст"
  }
  ...
}
JSON получен по AJAX. Мне необходимо в этот JSON записать данные из нескольких переменных:
var head = document.getElementById('setHead').value;
    var date = document.getElementById('setDate').value;
    var autor = document.getElementById('setAutor').value;
    var text = document.getElementById('setText').value;

Как мне записать данные из переменных в конец локального JSON?
Ответить с цитированием
  #2 (permalink)  
Старый 11.01.2019, 18:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 26,095

CryNet,
head это title?
Ответить с цитированием
  #3 (permalink)  
Старый 11.01.2019, 18:16
Интересующийся
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 26

Название статьи
Ответить с цитированием
  #4 (permalink)  
Старый 11.01.2019, 18:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 26,095

CryNet,
var data = {
  "1": {
    "title":"My Lesons",
    "autor":"CryNet",
    "date":"10.01.19",
    "text":"Текст"
  },

  "2": {
    "title":"My articles",
    "autor":"CryNet",
    "date":"09.01.19",
    "text":"Текст текст"
  }

}
var index = Object.keys.length;
data[index] = { "title": head,
    "autor": autor,
    "date": date,
    "text": text}
Ответить с цитированием
  #5 (permalink)  
Старый 11.01.2019, 21:50
Интересующийся
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 26

Сообщение от рони Посмотреть сообщение
рони,
...
Спасибо больше за ответ, но что-то не работает...

Я создал проект на codepen, чтобы было понятно: ссылка

var index = Object.keys.length;
    data[index] = { "title": head,
        "autor": autor,
        "date": date,
        "text": text
    }

В переменной index хранится 1, хотя записей две. При срабатывании кода данные не записываются
Ответить с цитированием
  #6 (permalink)  
Старый 11.01.2019, 22:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 26,095

CryNet,
var index = Object.keys.length + 1;
Ответить с цитированием
  #7 (permalink)  
Старый 11.01.2019, 22:34
Интересующийся
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 26

Сообщение от рони Посмотреть сообщение
CryNet,
var index = Object.keys.length + 1;
Та проблема не в этом. Даже если вручную прописать незанятый ключ. Но ваш способ я тоже пробовал
Ответить с цитированием
  #8 (permalink)  
Старый 11.01.2019, 23:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 26,095

CryNet,
пропустил скобки
var index = Object.keys(data).length + 1;
Ответить с цитированием
  #9 (permalink)  
Старый 11.01.2019, 23:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 26,095

CryNet,
<script>
var data = {
  "1": {
    "title":"My Lesons",
    "autor":"CryNet",
    "date":"10.01.19",
    "text":"Текст"
  },

  "2": {
    "title":"My articles",
    "autor":"CryNet",
    "date":"09.01.19",
    "text":"Текст текст"
  }

}
var head = autor = date = text = "test";
var index = Object.keys(data).length + 1;
data[index] = { "title": head,
    "autor": autor,
    "date": date,
    "text": text}


document.write(JSON.stringify(data, null, 4))
</script>
Ответить с цитированием
  #10 (permalink)  
Старый 12.01.2019, 18:30
Интересующийся
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 26

Спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно записать данные в JSON Alex_D181 Angular.js 1 19.06.2015 13:01
JSON данные принять на стороне клиента tenatin Общие вопросы Javascript 5 05.03.2014 14:32
Как достать данные из JSON массива? Dimaz jQuery 15 27.11.2012 19:58
ajax $.post вместо json проблема данные не приходят Sadist_dead AJAX и COMET 2 12.07.2012 16:59
json данные не грузятся в windows XP но грузятся в w7 rustamaha Элементы интерфейса 2 28.11.2011 10:35