Есть ли функция быстрого преобразования объектов JSON, полученных через jQuery getJSON
, в дамп строковой переменной (для целей трассировки/отладки)?JSON для строковой переменной дампа
ответ
Да, JSON.stringify
, можно найти here, это в Firefox 3.5.4 и выше included.
Соединитель JSON идет в обратном направлении, преобразуя структуры данных JavaScript в текст JSON. JSON не поддерживает циклические структуры данных, поэтому будьте осторожны, чтобы не приводить циклические структуры к строкам JSON.https://web.archive.org/web/20100611210643/http://www.json.org/js.html
var myJSONText = JSON.stringify(myObject, replacer);
Вы можете использовать console.log()
в Firebug или Chrome, чтобы получить хороший вид объекта здесь, как это:
$.getJSON('my.json', function(data) {
console.log(data);
});
Если вы просто хотите зрения строки, смотрите на Resource view in Chrome или Net view in Firebug, чтобы увидеть фактический ответ строки с сервера (нет необходимости его конвертировать ... вы получили его таким образом).
Если вы хотите взять эту строку и разбить его для удобного просмотра, есть отличный инструмент здесь: http://json.parser.online.fr/
я лично использовать jquery dump plugin ALOT сбросить объекты, его немного похож на print_r PHP() функции Базовое использование:
var obj = {
hubba: "Some string...",
bubba: 12.5,
dubba: ["One", "Two", "Three"]
}
$("#dump").append($.dump(obj));
/* will return:
Object {
hubba: "Some string..."
bubba: 12.5
dubba: Array (
0 => "One"
1 => "Two"
2 => "Three"
)
}
*/
Его очень читаемым человеком, я также рекомендую этот сайт http://json.parser.online.fr/ для создания/разбора/чтения json, потому что он имеет приятные цвета
это действительно здорово, но для этого требуется установка еще одного плагина (и только для отладки) – ina
Да, я знаю ... но когда я ища ответы, я часто нахожу что-то полезное в ответах, потому что моя проблема связана с проблемой. этот плагин действительно может быть немного переполнен, когда у вас просто есть простая проблема: P – Ties
Вот код, который я использую. Вы должны уметь адаптировать его к вашим потребностям.
function process_test_json() {
var jsonDataArr = { "Errors":[],"Success":true,"Data":{"step0":{"collectionNameStr":"dei_ideas_org_Private","url_root":"http:\/\/192.168.1.128:8500\/dei-ideas_org\/","collectionPathStr":"C:\\ColdFusion8\\wwwroot\\dei-ideas_org\\wwwrootchapter0-2\\verity_collections\\","writeVerityLastFileNameStr":"C:\\ColdFusion8\\wwwroot\\dei-ideas_org\\wwwroot\\chapter0-2\\VerityLastFileName.txt","doneFlag":false,"state_dbrec":{},"errorMsgStr":"","fileroot":"C:\\ColdFusion8\\wwwroot\\dei-ideas_org\\wwwroot"}}};
var htmlStr= "<h3 class='recurse_title'>[jsonDataArr] struct is</h3> " + recurse(jsonDataArr);
alert(htmlStr);
$(document.createElement('div')).attr("class", "main_div").html(htmlStr).appendTo('div#out');
$("div#outAsHtml").text($("div#out").html());
}
function recurse(data) {
var htmlRetStr = "<ul class='recurseObj' >";
for (var key in data) {
if (typeof(data[key])== 'object' && data[key] != null) {
htmlRetStr += "<li class='keyObj' ><strong>" + key + ":</strong><ul class='recurseSubObj' >";
htmlRetStr += recurse(data[key]);
htmlRetStr += '</ul ></li >';
} else {
htmlRetStr += ("<li class='keyStr' ><strong>" + key + ': </strong>"' + data[key] + '"</li >');
}
};
htmlRetStr += '</ul >';
return(htmlRetStr);
}
</script>
</head><body>
<button onclick="process_test_json()" >Run process_test_json()</button>
<div id="out"></div>
<div id="outAsHtml"></div>
</body>
Это помогло мне :)) – coding
что-то такое?
function dump(x, indent) {
var indent = indent || '';
var s = '';
if (Array.isArray(x)) {
s += '[';
for (var i=0; i<x.length; i++) {
s += dump(x[i], indent)
if (i < x.length-1) s += ', ';
}
s +=']';
} else if (x === null) {
s = 'NULL';
} else switch(typeof x) {
case 'undefined':
s += 'UNDEFINED';
break;
case 'object':
s += "{ ";
var first = true;
for (var p in x) {
if (!first) s += indent + ' ';
s += p + ': ';
s += dump(x[p], indent + ' ');
s += "\n"
first = false;
}
s += '}';
break;
case 'boolean':
s += (x) ? 'TRUE' : 'FALSE';
break;
case 'number':
s += x;
break;
case 'string':
s += '"' + x + '"';
break;
case 'function':
s += '<FUNCTION>';
break;
default:
s += x;
break;
}
return s;
}
- 1. Вызов toUppercase() для строковой переменной
- 2. Использовать текстовое поле ввода в качестве строковой переменной для JSON
- 3. LINQ со строковой переменной для сортировки
- 4. Подстановка переменной в строковой переменной
- 5. SQL Проверка строковой переменной
- 6. Невозможно использовать $ .parseJSON для строковой переменной, построенной с переменной массива
- 7. Как присвоить значение строковой переменной строковой переменной структуры в C++?
- 8. LoadControl - из строковой переменной
- 9. Получение значения строковой переменной
- 10. Сколько символов можно задать для строковой переменной?
- 11. ADODB RecordSet для строковой переменной VBA
- 12. Уникальность хэш-кода для строковой переменной
- 13. Назначение Include для строковой переменной PHP
- 14. Gnuplot: использование строковой переменной для определения столбцов
- 15. Использовать средство чтения потока для строковой переменной
- 16. Почему я получаю ошибку для строковой переменной?
- 17. Повторная активация строковой переменной для объекта StringBuffer
- 18. Unittesing строковой JSON
- 19. Установка данных json в одной строковой переменной запроса
- 20. как получить JSON, возвращаемый в строковой переменной в mvc4 vb.net
- 21. Использование строковой переменной в качестве имени объекта json
- 22. модуль импорта из строковой переменной
- 23. Возврат строковой переменной в C++
- 24. Python Изменение значения строковой переменной
- 25. Передача строковой переменной с пробелами
- 26. Поиск Oracle по строковой переменной
- 27. Инициализация массива символов строковой переменной
- 28. Передача строковой переменной через ajax
- 29. Ошибка при вызове строковой переменной
- 30. Отправка строковой переменной в JSON от arduino yun до firebase
Глупый вопрос - почему это помечено как спам? – ina
по той же причине, что и мои вопросы, голосуют, иногда пользователи неточно с их кликами! –