2016-05-04 6 views
0

スクエアブラケットJSON(Node.jsの)削除二重引用符と私は私のサーバーのファイルとアマゾンのAPIから情報を取得しています

client.itemLookup({ 
    idType: 'ISBN', 
    itemId: 'B00S51XHUQ, B00P3IX4V6', 
    responseGroup: 'Offers,ItemAttributes' 
}).then(function(results){ 
    res.send(JSON.stringify(results)); 
    console.log(results); 
}) 

は、その後、私はapp.getからいくつかのデータを表示するために<td ng-repeat="att in amazon.ItemAttributes" >{{att.Title}}</td> を使用しますが、それを表示この

[ "コルセア復讐LPX 16ギガバイト(2x8GB)DDR4 DRAM 2400MHzの(PC4-19200)C14メモリーキット - ブラック"]のように

"" とし、[]のデータの周りに、私は.replaceと試みたが、運がない

ペーストビン:http://pastebin.com/Ee8Aryw3

任意のアイデアは、

+0

amazon.ItemAttributesように見えるんか?あなたはそれをログに記録し、質問のデータ構造を追加することができます – jmancherje

+0

申し訳ありません、その大きなJSONファイルにペーストビンを追加しました – Noobcoder

+0

なぜJSONをストリング化していますか?それはあなたがこれらの文字に対処しなければならないと思う理由かもしれません。 JSONを取得している場合は、括弧や引用符で囲まれていないテキストのみを表示する必要があります。 –

答えて

0

.slice()$filterを使用してくださいありがとうございました。

var app = angular.module("app", []); 
 

 
app.controller("MainCtrl", ["$scope", function($scope){ 
 
\t $scope.item = "[\"Corsair Vengeance LPX 16GB (2x8GB) DDR4 DRAM 2400MHz (PC4-19200) C14 Memory Kit - Black\"]"; 
 
    
 
    //$scope.hello = "hello world"; 
 
}]); 
 

 
app.filter("cleanItem", function() { 
 
\t return function(input) { 
 
    \t if(!input) return ""; 
 
    
 
    return input.slice(2, -2); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="MainCtrl"> 
 
{{item | cleanItem}} 
 
</div>

+0

申し訳ありませんが、私はJSONを含めるべきでした。その少し大きい。 – Noobcoder

+0

同じ原則が適用されます:あなたはまだカスタムフィルターを使用しています: '

{{ item.name | cleanItem }}
' – Kyle

+0

質問から50個の項目を取り除くと思いますか?私はそれぞれのためにこれを行う必要がありますか? – Noobcoder

0

これは、いくつかの文字を削除するためのフィルタである:あなたのhtmlで

app.filter('clearText', function() { 
     return function(text) { 
      return text ? String(text).replace(/"<[^>]+>/gm, '') : ''; 
     } 
     }); 

{{item | clearText}} 
関連する問題