2016-06-23 3 views
-2

У меня есть данные JSON в локальном файле, и у меня есть успех для загрузки с помощью jQuery. Теперь мне нужно поиск pId = "foo1" только.Как искать в json с помощью jquery

JSON

{ 
"1":{ 
     "id": "one", 
     "pId": "foo1", 
     "cId": "bar1" 
    }, 
"2":{ 
     "id": "two", 
     "pId": "foo2", 
     "cId": "bar2" 
    }, 
"3":{ 
     "id": "three", 
     "pId": "foo3", 
     "cId": "bar3" 
    } 
} 

JQuery

id = "1"; // Or whatever 
var entry = objJsonResp[id]; 

console.log(entry); 


Но это показывает идентификатор, pId и cId значения и мне нужно только значение pId, а не другой.
Так что это лучший способ, чтобы получить значение pId

+0

Проверьте это, пожалуйста; http://stackoverflow.com/questions/5288833/how-to-search-json-tree-with-jquery – Berkay

+2

'console.log (entry.pId);' :) – Hackerman

+1

Попробуйте logging 'entry ['pId']' или 'entry.pId' – prashkr

ответ

1

Вызов objJsonResp[id] возвращает весь первый объект.

Попробуйте использовать:

console.log(entry.pId); 
-3

Очевидно, сервер,, с которым вы общаетесь, это (только) тот, кто может вернуть соответствующий набор результатов для вас.   Следовательно, ваша связь с сервером должна быть (так или иначе) включает в себя критерии поиска, так что сервер ’ s ответ будет включать только интересующие записи.   Это потребует дополнительного программирования с вашей стороны, как на стороне клиента, так и на стороне сервера. , ,

0
obj = JSON.parse("{\"1\":{\"id\": \"one\",\"pId\": \"foo1\",\"cId\": "bar1"},"2":{"id": "two","pId": "foo2","cId": "bar2"},"3":{"id": "three","pId": "foo3","cId": "bar3"}}"); 
// These \ are called escape chars, they say javascript that " is part of string. 

После этого у вас есть объект вашего JSON, поэтому у вас есть объекты один родительский объект [OBJ] и 3 детей [ "1", "2", "3"] со свойствами ид, Pid , ИДС. Для того, чтобы получить собственность ребенка вы хотите сделать это, как родитель [child_name] [property_name], как это:

pid1 = obj["1"]["pId"]; // returns foo1 
pid2 = obj["2]["pId"]; //return foo2 

Но что вы просили это JSON.parse функции(), которая дает вам объект, представляющий вашу JSON

0

Так что я решил с помощью @Hackerman и @prashkr
Оба комментария верны.
Итак, окончательное решение, чтобы получить только значение pId, как меня попросил, настроить таргетинг таким образом, как это предусмотрено в комментариях выше.

console.log(entry.pId); 
console.log(entry['pId']); 
+0

Это базовый синтаксис Javascript для работы с объектами. Это вряд ли заслуживает ответа. – Barmar

Смежные вопросы