[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывести результаты json-а в читаемом виде
mstdmstd
Всем привет,

Хочу вывести результаты json-а в читаемом виде Погуглив нашел способы
https://stackoverflow.com/questions/4810841...sing-javascript
В том числе с функцией syntaxHighlight

Но выполнив я себя разные варианты:

jQuery.ajax({
url: href,
type: 'GET',
dataType: 'json',
success: function(result) {
if (result.error_code == 0) {
JSON.stringify({a:1,b:2,c:{d:1,e:[1,2]}}, null, "\t"); */
$('#div_results').html( ( JSON.stringify( result, null, "\t" ) ) );
// $('#div_results').html( jsonSyntaxHighlight( JSON.stringify( result, null, 2 ) ) );
// $('#div_results').html( jsonSyntaxHighlight( result ) );
...
0000000<div class="" id="div_results"></div>11111111
...
Но все равно получаю плохочитаемый вывод http://imgur.com/a/moeYF.
Как это исправить ?

Спасибо!
Kusss
if (result.error_code == 0) {
var str = JSON.stringify(result, undefined, 2);
$('#div_results').html( jsonSyntaxHighlight(str) );
}
<pre id="div_results"></pre>

http://jsfiddle.net/KJQ9K/554/
killer8080
mstdmstd
есть онлайн сервисы типа http://jsbeautifier.org/
Они не только подсвечивают синтаксис, но и форматируют вывод
Эти же функции есть в любой нормальной IDE.
sergeiss
Цитата (killer8080 @ 21.06.2017 - 16:01)
Эти же функции есть в любой нормальной IDE.

Notepad++ не является ИДЕ, но он тоже может форматировать. Там только плагин надо поставить.

mstdmstd, а цель какая? Вообще, если надо только иногда посмотреть, то в консоли браузера прекрасно можно всё видно.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
AllesKlar
У гугля-хромы есть замечательная штукень JSON Editor

_____________
[продано копирайтерам]
mstdmstd
Да, если делать так:

var str= JSON.stringify(  result, undefined, 2 )
alert( "str::"+str )
$('#div_results').html( "ERROR : "+jsonSyntaxHighlight( str ) );

то алерт выводит строку в читабельном виде.
Но в диве все выглядит в одну строку. Это не могут быть стили/настройки этого дива ?
Цель вывести результат на экран в макс ширину/высоту.
killer8080
Цитата (mstdmstd @ 22.06.2017 - 18:31)
Но в диве все выглядит в одну строку.

Ну так не div, а pre smile.gif
sergeiss
Цитата (killer8080 @ 22.06.2017 - 19:08)
Ну так не div, а pre

Так любой же элемент можно стилями настроить, чтобы как pre работал. В стилях "white-space: pre-line" или что-то около этого.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
killer8080
Цитата (sergeiss @ 22.06.2017 - 19:42)
Так любой же элемент можно стилями настроить, чтобы как pre работал.

Можно конечно, только зачем, когда есть предназначенный для этих целей тег?
sergeiss
Ну хотя бы затем, что эту функциональность можно добавить к любому элементу. Который может больше подходить, чем pre, в данной ситуации. Или когда дизайн уже сделан.
Ну, собственно, мы с тобой озвучили возможности, а ТС пусть оценивает, что ему нужно smile.gif

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
killer8080
Цитата (sergeiss @ 22.06.2017 - 19:49)
Который может больше подходить, чем pre, в данной ситуации.

Стилями можно любой тег превратить во что угодно (ну почти любой)
<pre> по сематике как раз то что нужно в данной ситуации.
Сомневаюсь что могут быть объективные причины, не позволяющие его использовать, даже если
Цитата (sergeiss @ 22.06.2017 - 19:49)
... дизайн уже сделан.

Хотя никто ничего не навязывает, тут выбор за ТС smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.