2015-08-05 4 views
-6
string: {"foo1":"1123","foo2":"332","foo3":"23-SEP-15"} 

Привет ребята,как выбрать конкретный элемент из объекта JSON

Im пытается получить значение foo3 из строки (так нужна дата часть строки). Ive попытался разобрать это с помощью JSON, но, похоже, у меня много проблем в моей программе, если строка даты находится в неправильном формате (что является возможностью).

Думал, что было бы проще положить это в массив, а затем найти массив для совпадений даты?

Или было бы проще всего искать саму фактическую строку на дату (или я предполагаю, что любая строка после foo3:. И заключен в «»

Мои регулярные выражения очень бедна, поэтому им действительно изо всех сил, чтобы сделать это метод сам. Любые консультации по какой метод будет лучше бы действительно оценили

+0

Что ожидается выход? – Tushar

+0

Не должно быть никаких проблем с анализом этого как JSON. Какой «неправильный формат» может быть в вашей дате, и какие проблемы «забрасывают»? – deceze

+0

Не могли бы вы привести пример некорректно отформатированной строки? (Кроме того, не все здесь «парень»;)) – georg

ответ

2

Чтобы получить значение foo3, вы можете просто использовать JSON.Parse с функцией обратного вызова, которая будет возвращать только значение foo3, если он присутствует.

Предлагаем работу ING сниппет:

var text = '{"foo1":"1123","foo2":"332","foo3":"23-SEP-15"}'; 
 
JSON.parse(text, function(k,v){ 
 
    if (k === 'foo3') { 
 
    document.write(v); 
 
    } 
 
    return v; 
 
});

Здесь, в function(k,v), k обозначает ключ и v обозначает значения. Вы можете найти больше рабочих примеров того, как разбирать JSON с JavaScript по предоставленной выше ссылке MDN.

+1

это замечательно, спасибо большое.Это не спасло меня от этой проблемы. Снова извиняется за неопределенность вопроса, плохо изменит название немного, по крайней мере, он будет полезен другим пользователям – Ash

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