2013-12-23 2 views
0
var json = { 
"color" : { 
    "off-white" : { 
     "inactive" : 0, 
     "instock" : 5, 
     "prestock" : 49 
    }, 
    "red" : { 
     "prestock" : 50, 
     "instock" : 10, 
     "inactive" : 0 
    } 
    } 
}; 

В JavaScript, если яКак получить одинаковые выходы с javascript и swig?

for (var col in json.color) { 
     result += col + " = " + JSON.stringify(json.color[col].prestock)+ "\n"; 
    } 

я могу получить «беловатого» и «красный» и все вложенные документы.

Я сделал то же самое, но он не даст мне одинаковые выходы. Что еще я могу сделать?

, чтобы получить выходы «беловатый» и «красный» я должен

{% for col in Object.keys(json.color) %} 

, но я не могу получить доступ к поддокументам.

Если я

{% for col in json.color %} 
<li>{{Object.keys(col)}}</li> 

Я получаю

  • "беловатого", "красный"
  • мне нужно их отдельно, как:

  • беловатого
  • красный
  • Спасибо! С Рождеством и Новым Годом

    ответ

    1

    В глотке, вы можете получить ключ и значение без использования Object.keys:

    {% for key, val in json.color %} 
        <li>{{ key }} = {{ val.prestock }}</li> 
    {% endfor %} 
    

    Это должно дать вам то же самое, что вы просите в примере JavaScript.

    +0

    Отлично! Спасибо! – wisleans

    0

    В JavaScript вы должны сделать, как

    json.color.off-white OR json['color']['off-white'] 
    

    // это даст вам объект как

    { 
        "inactive" : 0, 
        "instock" : 5, 
        "prestock" : 49 
    } 
    
    // check alert(JSON.stringify(json.color.off-white)); 
    

    Это не будет возвращать массив, так что вы выиграли Невозможно пройти через него.

    дальше вы можете получить значение inactive путем доступа к объекту, как json.color.off-white.inactive

    +0

    Спасибо, но, как вы можете видеть, я могу сделать это с помощью Javascript, мне нужно иметь такой же выход с swig. – wisleans

    0

    Так отдельно показать им, что я думаю, что вам нужно сделать что-то вроде этого:

    {% for key in Object.keys(json.color) %} 
        <li>{{ key }},{{json["color"][key]["prestock"]}}</li> 
    {% endfor %} 
    

    К сожалению, я полагаю, у вас уже есть цвет ключи. Теперь я обновляю код, надеюсь, работает.

    +0

    , но это не возвращает «не совсем белый» или «красный», но доступ к «престон», «инсток» и «неактивный» – wisleans

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

    • Нет связанных вопросов^_^