Я очень надеюсь, что вы сможете мне помочь, поскольку я потратил на это слишком много времени. Во-первых, мое форматирование JSON, к сожалению, не очень изменчиво, и я переместил его в несколько разных форматов для поддержки как некоторого jquery, так и поиска на основе php. Каждый раз, когда я его перемещаю, поиск будет работать, а остальная часть сайта сломается или наоборот.javascript/jquery Доступ к массиву JSON по имени и индексу
Возможно ли получить доступ к массиву JSON по имени и номеру индекса? Вот моя JSON (хранится в PHP файл и будет получен & успешно преобразован в допустимый формат JSON):
<?php
$contents = array(
'Song Name #1 by Artist Name #1 (maininfo)' => array(
'contentid' => '1',
'aname' => 'Artist Name',
'sname' => 'Song Name',
'main' => 'core content #1',
'maininfo' => 'url')
),
'Song Name #2 by Artist Name #2 (maininfo)' => array(
'contentid' => '2',
'aname' => 'Artist Name',
'sname' => 'Song Name',
'main' => 'core content #2',
'maininfo' => 'url')
);
?>
Мой поиск не работает, когда что-то в названии массива соответствует, в противном случае она возвращает не соответствует, так что я должен оставить Заголовок массива как есть.
Другая часть моего проекта использует JQuery и имеет следующее:
parse(jsonobj[0][1]['sname']) //successfully already returning 'Song Name'
выше будет работать только когда название массива не предусмотрено (например «Song # Название 1 по имени исполнителя # 1 (maininfo)»=> массив ( становится просто массив (
для тех, кому интересно, файл преобразуется в формат JSON с помощью:.
var jsonobj;
$.ajax({
url: 'getjson.php',
dataType: "json",
success: function (doc) {
jsonobj = doc;
}
});
На стороне PHP, когда getjson.php называется массив JSON (выше) загружен в систему и преобразуется в действительный JSON с помощью:
$final = array($final_contents);
header('Content-type: application/json');
echo json_encode($final);
Примечание: $ final_contents составляет всего $ содержимое с дополнительным заголовком добавленной , См. Searching JSON array for values and accessing surrounding keys/values; output as JSON для PHP. У меня есть конкретная работа.
Заранее спасибо.
Можете ли вы также вставить код, который используется для передачи $ content в обратный вызов jquery при успехе? –
@AshutoshNigam - Я считаю, что я просто добавил его в исходное сообщение. В принципе, вызов ajax json загружает файл с именем getjson.php, который захватывает массив JSON-стиля, который у меня есть в php, и преобразует его в действительный JSON. См. Ссылку, которую я добавил для сообщения, которое у меня было вчера, с другим вызовом - он содержит PHP. –