Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > > >
Восстановить пароль Регистрация

Ответ Создать новую тему
 
JoQeR
Форумчанин
5 / 5 / 0
Регистрация: 16.02.2012
Сообщений: 57
28.08.2012, 15:21     Загрузить данные из JSON в виде txt файла в массив
  #1
Прошу помочь со следующим.
У меня есть текстовый файл с расширением .txt как я понял в jQuery можно из него данные загрузить с помощью JSON.

Тестовый файл:
Код JavaScript
1
2
3
4
5
6
7
{FumArray:[
"Петров",
"Сидоров",
"Кравчук",
"Курилов",
"Ломов"
]}
Вопрос: как получить доступ к элементам в этом текстовом файле, чтобы например выводить текст на веб-страницу с помощью цикла?

HTML страница лежит вместе с js файлом и текстовым файлом.
Пытаюсь получить доступ к элементам текстового файла подобным образом (в данном случае хотя бы к первому), но ничего не получается:
Код JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
function ListFum(){
    $.ajax({
        type: 'POST',
        dataType: 'json',
        url: 'MyQuotes.txt',
        success: function(Fum){
            //var Fum = [];
            //var i = 0;
            $('.main_block_text').html(Fum.FumArray[1]);
        }
    });
}
Уже кучу форумов перелазил, скорее всего не правильно что то делаю, недавно начал изучать jQuery. Скажите что неправильно делаю и здорово было бы пример наглядный как это сделать, или хотя бы алгоритм. Спасибо!
AdAgent
Объявления
28.08.2012, 15:21
Vovan-VE
Форумчанин
12944 / 6330 / 143
Регистрация: 10.01.2008
Сообщений: 15,063
28.08.2012, 16:03
  #2
Цитата Сообщение от JoQeR Посмотреть сообщение
Код JavaScript
1
{FumArray:[
скорее всего не правильно что то делаю
Ага, неправильно. В правильном JSON имена свойств объекта могут быть только строками:
Код JavaScript
1
{"FumArray":[
Добавлено через 35 секунд
Заглядните в консоль ошибок - там Вам скажут, что данное нечно не является валидным JSON.
JoQeR
Форумчанин
5 / 5 / 0
Регистрация: 16.02.2012
Сообщений: 57
28.08.2012, 16:09  [ТС]
  #3
В смысле, что вот такого вида?

Код JavaScript
1
2
3
4
5
6
7
{
"Петров",
"Сидоров",
"Кравчук",
"Курилов",
"Ломов"
}
но так тоже не получается получить доступ к элементам как к массиву.

Дело в том, чтое если сделать таким образом:

Код JavaScript
1
2
3
4
5
6
7
{
"Fum1":"Петров",
"Fum2":"Сидоров",
"Fum3":"Кравчук",
"Fum4":"Курилов",
"Fum5":"Ломов"
}
А потом обратиться таким образом Fum.Fum1, то всё будет работать.

Как же мне сделать поочередный вывод каждого элемента в какой-нибудь элемент веб страницы, т.е. задать некий абстрактный индекс как в массивах? Например при каждом нажатии кнопки. Такое похоже без массива не сотворишь.
Vovan-VE
Форумчанин
12944 / 6330 / 143
Регистрация: 10.01.2008
Сообщений: 15,063
28.08.2012, 16:11
  #4
Цитата Сообщение от JoQeR Посмотреть сообщение
В смысле, что вот такого вида?
Нет. Я же Вам написал, какую строку на что исправить.

Добавлено через 37 секунд
http://www.json.org/json-ru.html
JoQeR
Форумчанин
5 / 5 / 0
Регистрация: 16.02.2012
Сообщений: 57
28.08.2012, 16:18  [ТС]
  #5
Пока писал, Вы ответили) Спасибо большое, всё заработало.

Еще я не очень понял, то что я делаю - вывожу из текстого файла на html страницу с помощью jQuery это вообще правильно? Или надо было бы задействовать PHP для подобного извлечения информации?
Vovan-VE
Форумчанин
12944 / 6330 / 143
Регистрация: 10.01.2008
Сообщений: 15,063
28.08.2012, 16:21
  #6
Цитата Сообщение от JoQeR Посмотреть сообщение
Или надо было бы задействовать PHP для подобного извлечения информации?
Со стороны клиента Вы просто запрашиваете у сервера инфу, и он Вам её отдаёт. Как клиенту, Вам должно быть совершенно всё равно, откуда сервер достаёт эту инфу - из файла, из скрипта или из-под шкафа.
Цитата Сообщение от JoQeR Посмотреть сообщение
Код JavaScript
1
$('.main_block_text').html(Fum.FumArray[1]);
вывожу из текстого файла на html страницу
Тогда бы уж .text() вместо .html():
Код JavaScript
1
$('.main_block_text').text(Fum.FumArray[1]);
JoQeR
Форумчанин
5 / 5 / 0
Регистрация: 16.02.2012
Сообщений: 57
28.08.2012, 16:23  [ТС]
  #7
Спасибо, теперь понял)
JoQeR
Форумчанин
5 / 5 / 0
Регистрация: 16.02.2012
Сообщений: 57
11.09.2012, 15:59  [ТС]     Загрузить данные из JSON в виде txt файла в массив
  #8
Теперь возникли проблеммы с записью в JSON в сам файл, а не чтение. Не знал в какую тему написать в jQuery или PHP.

Как в таком же формате продолжить дозаписывать данные в массив JSON в txt файл? Я думаю, что извлекать сначала массив Array[] полностью будет неправильно, т.к. это займет очень много времени и ресурсов, если например записей будет не 5, а 5000 или еще больше.

Вопрос: каким способом можно дописать в массив Array[] в поля text и author данные? Чтобы просто дописать в конец массива, как в файл. Или же как дописать просто в текст файл в формате подобном JSON? И последний вопрос, как это реализовать с помощью AJAX, хотя бы примерный алгоритм? За раннее спасибо!

Пробовал дописать просто в файл в формате подобном JSON, но сразу возникла проблемма с отображением русских букв:

Код PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
//Получаем переменные при попытке опубликовать цитату
$text_JSON = $_POST["text"];
$author_JSON = $_POST["author"];
//$tema_JSON = $_POST["tema"];
//$email_JSON = $_POST["email"];
 
 
$list_text = array("author" => $author_JSON , "text" => $text_JSON);
$list_text_JSON = json_encode($list_text);
 
file_put_contents("My.txt", "Автор $author_JSON   "."   Текст $text_JSON \n", FILE_APPEND);
 
echo "Ваш отзыв будет опубликован сразу после проверки. 
     $list_text_JSON
     </br> Спасибо за Ваше время!"
 
?>
В результате $list_text_JSON выводится следующее:

Ваш отзыв будет опубликован сразу после проверки. {"author":"\u0410\u0432\u0442\u043e\u0440 \u043e\u0442\u0437\u044b\u0432\u0430!","text":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u0437\u044b\u0432!"}
Спасибо за Ваше время!"
Yandex
Объявления
11.09.2012, 15:59
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Ответов Автор Дата
jQuery Как получить массив json в javascript
Вот кусочек кода на странице: <?json_encode($rrr);?> <script type="text/javascript"> </script> Я формирую массив в PHP и перекодировываю его в формат JSON. А как прямо на следующей строчке...
jQuery 2 7Alex 07.07.2014 12:41
jQuery Получение содержимого json файла
В запросах(Network) файл data.json есть, а единицу не выводит. в чем проблема? $.getJSON("data.json", function(data){ alert(1); })
jQuery 6 ProstoMad 06.07.2014 16:20
jQuery Как вернуть json данные из php
Всем привет, делаю запрос к серверу $("#accept_phone_form").submit(function(event) { var $form = $( this ), term = $form.serialize(); url = "/contest/index.php"; var submit_form...
jQuery 7 igorek91 18.09.2013 14:16
jQuery Чтение из txt файла JSON формат
Собственно есть файлик test.txt: { "response": { "players": } } Подскжаите пожалуйста, как мне прочитать это из jQuery и вывести допустим realname.
jQuery 2 nlinetskiy 06.08.2013 21:18
jQuery Загрузить данные на чужой сайт
как можно загрузить данные на чужой сайт допустим в div и забрать данные должно получится как счетчик на чужой сайт загружается не большей скрипт в div получение данных ip полное имя сайта и...
jQuery 2 grigori 20.12.2012 05:04
jQuery Получить данные из json - формата
Доброго времени суток! У меня как у juery&ajax-новичка назрел новый вопрос. Есть таблица в html, при обновлении (или при открытии) страницы производится ajax запрос, в идеале должно проиходить...
jQuery 4 Julia_Ber 06.12.2012 17:24
jQuery Как загрузить данные из БД в jsPlumb
Подскажите, как загрузить элементы схемы в jsPlumb из БД, а потом сохранить обратно в БД? Как динамически добавлять объекты в jsPlumb?
jQuery 0 seregarem 20.07.2012 11:51
jQuery Загрузить данные из файла в Datatable
Скажите, пожалуйста, как можно загрузить с файла данные определённого формата в Datatable?
jQuery 3 AloneHere 19.07.2012 14:28
Опции темы

Текущее время: 15:32. Часовой пояс GMT +4.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.