2

以下の文字列からカンマ区切りのIDとタイプを取得したい。

分割を試しましたが、目的の結果を取得するには複数の分割が必要です。

1234,4321js / jqueryを使用するなど、目的の出力をフェッチする効率的な方法を提案してください。

var tempString=
'[{"id":"1234","desc":"description","status":"activated","type":"type","name":"NAME"},
  {"id":"4321","desc":"description1","status":"inactivated","type":"type","name":"NAME1"}]';
4

4 に答える 4

3

を取得するには"1234,4321"、次のことができます

var ids = tempString.map(function(v){return v.id}).join(',');

IE8と互換性を保ちたい場合は、次のことができます

var ids = $.map(tempString, function(v){return v.id}).join(',');

次の質問の編集:

tempString配列ではなく、実際には JSON 文字列である場合は、次のようにします。

var ids = $.map(JSON.parse(tempString), function(v){return v.id}).join(',');
于 2013-02-08T16:38:31.493 に答える
0

指摘したように、それはあなたの例では String ではありません。一部の引用符が抜けていました。

とにかく、@dystroyの答えを調べてください。しかし、あなたはJSONオブジェクトを扱っていると思います.おそらくjsonパーサーを使用する必要があります.

jquery の parseJSONをチェックしてください

于 2013-02-08T16:41:33.870 に答える
0

指定された文字列をキーと後続の値にデコードするには、JSON 用の Javascript パーサー API を使用する必要があります。「Miquel」が述べたように、jQueryには1つがあります

于 2013-02-08T16:44:21.620 に答える
0

まず、上記のものは文字列ではなく、オブジェクトの配列です。

しかし

それが文字列の場合 (そのように)

var tempString = '[{"id":"1234","desc":"description","status":"activated","type":"type","name":"NAME"}]

[{"id":"4321","desc":"description1","status":"inactivated","type":"type","name":"NAME1"}]';

次に、 .match(); のようなものを使用したいと思うでしょう。 https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/match

var ID = tempString.match(/([0-9]+)/gi);

于 2013-02-08T16:46:43.023 に答える