2015-06-22 4 views
0

У меня есть код ниже. Мне нужно заполнить объект JSON с помощью усов. К сожалению, это ничего не показывает мне.усы населяют ошибку объекта JSON

<script type="text/javascript"> 
    var data = "[{"PR_ID":23096,"P_ID":23014},{"PR_ID":33232,"P_ID":23014},{"PR_ID":33308,"P_ID":23014},{"PR_ID":33309,"P_ID":23014}]"; 
    var template = $("#template").html(); 
    Mustache.parse(template); 
    var rendered = Mustache.render(template, data); 
    $('#PatrList').html(rendered); 
</script> 

<body> 
    <div id="PatrList"></div> 

    <script id="template" type="x-tmpl-mustache"> 
     {{ #. }} 
      <div> 
       PR_ID: <h2> {{PR_ID}} </h2> ---- P_ID: <h2> {{P_ID}} </h2> 
      </div> 
     {{ /. }} 
    </script> 
</body> 
+2

У вас есть '' '' вокруг вашего массива. См. [Здесь] (https://jsfiddle.net/y9869m7j/). –

+0

@NickRussler, данные возвращаются значения из C# Код: var json = new JavaScriptSerializer(). Serialize (patrs); Итак, как правильно отформатировать его, можно принять усы? –

+0

@NickRussler, как удалить строку javascript "", а затем использовать его? –

ответ

1

Проблема в том, что var data является строкой, а не объектом. Вам нужно удалить внешние кавычки или проанализировать строку для объекта (учитывая, что разделитель правильно экранирован внутри строки), например. с JSON.parse(str) или eval