ng repeat json parse显示空字符串

时间:2017-09-06 03:32:55

标签: javascript angularjs json pug

我从数组列表中获取了对象数组。我使用"jest": { "transform": { "^.+\\.jsx?$": "babel-jest" } } 对象的方法将对象字符串转换为对象,但它在ng-repeat中显示为空。

JSON.parse

SearchData

.item.col-md-4(ng-repeat='p in searchData | filter: paginate | orderBy: sortKey ')
   // `p` is a object of string, for example "{id:2, name:'abel'}";
   - var property = JSON.parse("{{ p }}"); // Error at this line
   +AddPropertyCard(property)

错误

  

var property = JSON.parse("");

     

意外的令牌{在位置1的JSON中

1 个答案:

答案 0 :(得分:2)

更新1

变量' p'似乎是对象。

您必须使用点表示法访问它。 与 {{p.id}} {{p.name}} 一样。这将显示各自的值。

JSON.parse需要对象字符串才能解析它。

// Lets create a simple Object in javascript
var notStringObj = {
    "name": "John",
    "age": 30,
    "city": "New York"
};
console.log("JavaScript Object", notStringObj);

// Lets stringify (Convert in string) the object
var stringObj = JSON.stringify(notStringObj);
console.log("JavaScript Stringified Object", stringObj);

// Following is code to decode this object

// This will give you result you are expecting i.e. JavaScript Object
var obj1 = JSON.parse(stringObj);

// This will throw error - Unexpected token { in JSON at position 1
// Because this was plain object not a string
// JSON.parse expects object string in order to Parse it
var obj2 = JSON.parse(notStringObj)