powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Непобеждённый JSON
5 сообщений из 30, страница 2 из 2
Непобеждённый JSON
    #38225608
qwerty2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот тебе еще наводка
оба кода верхний и этот рабочие
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<!-- saved from url=(0030)http://sportkursk.ru/test.html -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
	<script src="./test_files/jquery-1.4.2.js"></script>
</head>
<body>
<script type="text/javascript">
var dataStr = '{"listingContainer":"<div class=&#34;smallHeadDiv fnt_usual&#34;>ВСЕ НЕЗАВЕРШЁННЫЕ ЗАКАЗЫ<&#47div><div id=&#34;ordersList&#34;><&#47div>","orders":[{"order_id":"11","order_date":"30-03-2013","order_status":"Новый заказ","price":"53173.5","end_price":"0"},{"order_id":"12","order_date":"02-04-2013","order_status":"Новый заказ","price":"9300","end_price":"0"},{"order_id":"13","order_date":"11-04-2013","order_status":"Новый заказ","price":"11952.5","end_price":"0"},{"order_id":"14","order_date":"13-04-2013","order_status":"Новый заказ","price":"33438.5","end_price":"0"}]}';
try{
	data = $.parseJSON(dataStr);
	alert('$.parseJSON(): ok');
}catch(err){
	alert('$.parseJSON():' + "\r\n\r\n" + err);
}
try{
	data = JSON.parse(dataStr);
	alert('JSON.parse: ok');
}catch(err){
	alert('JSON.parse:' + "\r\n\r\n" + err);
}
alert(data);
</script>

</body></html>
...
Рейтинг: 0 / 0
Непобеждённый JSON
    #38225690
Да, stringify в последней редакции test.html я использовал некорректно, т.к. передал ему строку вместо объекта, запарился.

Теперь всё работает с обоими методами =)

qwerty2012 , если я правильно понял, Вы просто заменили в JSON коде Decimal кодами следующие последовательности?
1. \"
2. \/

Я чуть раньше делал то же самое, и у меня JSON.parse() не хотел работать, видать я где-то опечатку в коде делал.

Вопрос решён. Спасибо!
...
Рейтинг: 0 / 0
Непобеждённый JSON
    #38225739
qwerty2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Климов ДмитрийДа, stringify в последней редакции test.html я использовал некорректно, т.к. передал ему строку вместо объекта, запарился.

Теперь всё работает с обоими методами =)

qwerty2012 , если я правильно понял, Вы просто заменили в JSON коде Decimal кодами следующие последовательности?
1. \"
2. \/

Я чуть раньше делал то же самое, и у меня JSON.parse() не хотел работать, видать я где-то опечатку в коде делал.

Вопрос решён. Спасибо!
нет не в этом дело в первом примере который я испаравил
было так
сначачала дата это строка вида джесон
потом в эту же дату присваеваеться обьект как результат
data = $.parseJSON(data);
а тут дата уже обьект которые перегоняеться в строку
data = JSON.stringify(data);
...
Рейтинг: 0 / 0
Непобеждённый JSON
    #38225989
Вобщем рано я радовался...
Получается бредовая ситуация, как ни крути.

Опишу ситуацию в целом:
1. Есть html шаблон, в котором идёт вызов JS ф-ции (с единственным аргуметом):
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
<html>
<head></head>
<body>
...some staff here...
<script type="text/javascript">
myFunction('[:JSON_CODE:]');
</script>
</body>
</html>


При сборке страницы контсрукцию [:JSON_CODE:] php скрипт заменяет строкой JSON кода.
Если быть уверенным в том, что php скрипт при всех условиях будет работат идеально и без ошибок, то контсрукцию [:JSON_CODE:] одинарными кавычками можно не обрамлять, и myFunction() может слепо пробовать работать с переданным аргументом как с объектом JSON, без использования JSON.parse или $.parseJSON

Однако стоит скрипту ошибиться и выдать вместо валидного JSON какую-нибудь ерунду, как JS молча отомрёт.

Поэтому я решил добавить одинарные кавычки обрамляющие [:JSON_CODE:], чтобы быть уверенным в том, что JS функция myFunction() получит аргумент ТОЛЬКО В ВИДЕ СТРОКИ, что позволит проверять валидность её содержимого уже средствами JS. И исходя из результатов этой проверки, либо сообщить об ошибке, либо продолжать работу. Но не умирать молча.

Но получается такая хрень (как показала практика):
чтобы переданный в виде обрамленной одинарными кавычками JSON спарсился, он не должен содержать в себе конструкций \" и \/ .
Их товарищ qwerty2012 заменил соотвтествующими decimal кодами.
После замены этих конструкций, парсинг JSON проходит отлично, но строки из распарсеного объекта JSON содержавшие в себе html тэги "портятся", т.к. decimal представления в них "остаются собой" и не преобразуются ни в " ни в /, соответственно html тэги в этих строках херятся.

В итоге, после парсинга такого JSON, эти коды нужно отлавливать в разных местах и преобразовывать обратно к нормальному виду регулярками, что не удобно: в разных местах сайта генерируеются JSON разных конструкций, который обрабатывается множеством разных не связанных между собой ф-ций...
...
Рейтинг: 0 / 0
Непобеждённый JSON
    #38226106
qwerty2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я ничего в строке не менял а взял что было у тебя

скинь новый джейсон с которым не получаеться у тебя
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Непобеждённый JSON
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]