問題タブ [reviver-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
15887 参照

javascript - JSON.parsereviverパラメーターを使用して日付文字列を解析する方法

私のJSON文字列には、次のような値を返す日付フィールドが含まれています。

私は特に、時刻ではなく日付コンパートメントのみを解析することに興味があります。reviver関数を使用してみましたが、興味深いことに、reviver関数が呼び出されることはありません。(Firefoxで試してみました)

これを実現するための私のコードは次のとおりです。

JSON.parseinはloadArticle決して呼び出しませんdateReviver

私は一日中投資しましたが、運がありませんでした!誰か助けてくれませんか?

0 投票する
1 に答える
267 参照

javascript - JSON.parsereviver関数にはn+1個のキーがありますか?

JSON文字列を解析するときにreviver関数を提供できるコードオーバーロードをテストしたかったのです。

したがって、このコード:

収量10(ok)。

しかし、それから私は自分自身に、「これは何if (k === "")ですか?」と自問しました。削除しましょう!:

たぶん5が整数だから?試してみましょうparseInt

とても奇妙な...

そこで、問題の原因となっているキー(ここには1つしかありませんが)を確認したいと思いました。

2つのアラートがありました:

  • 5

  • [object Object]

IMHOkvはとのためkeyでありvalue、実際、ここには1つのキーしかありません。

この他のアラートは何ですか?そして、なぜ私はチェックしなければならないのif (k === "")ですか?

0 投票する
1 に答える
648 参照

json - Javascript: リバイバー機能を使用すると、数字を連結しているときにすべてのキーを変更できないようです

batchesX のすべてのキーを変更したいだけです。しかし、連結のため、すべてのキーを変更できないようです。これは私がポストから学んだことです。

すべてのキーを数字で変更する方法を教えてください。

コードが長すぎませんか?

よろしくお願いします。クレメント

0 投票する
1 に答える
200 参照

ajax - インスタンスがnullではないのに、WCF AJAXメソッドの引数に値が入力されないのはなぜですか?

jQuery.ajax を使用して AJAX リクエストをサーバーに送信しました。「データ」フィールドには、ClientMessage タイプに対応する JSON 文字列が入力されていますが、データがメソッドのメイン パラメータに到達していません。デバッグ時にメソッドが実行されると、ClientMessage のすべてのメンバーは ProcessRequest の data パラメータで null になります。

ClientMessage クラスのメンバーは、クラス自体の DataContract 属性と共に DataMember(Name="membername") 属性で修飾された、単純な自動実装の get/set 文字列プロパティです。クライアント側では、Chrome の開発者ツールは、AJAX リクエストのデータ オブジェクトが有効な JSON であることを示しており、リクエスト ビューアーでそれを展開して、正しいオブジェクトとメンバーが送信されていることを確認できます。

ClientMessage データ インスタンスがすべてのメンバーに対して null 値で到着する理由がわかりません (ちなみに、これらはすべて単純な文字列です)。

0 投票する
1 に答える
12532 参照

javascript - Immutable.jsを使用してJavaScriptの生オブジェクトからレコードのマップを作成するには?

私は immutable.js が初めてで、生の JS オブジェクトからレコードを使用する方法をよりよく理解したいと思っています。

Immutable.fromJS()生のオブジェクトを渡すマップを作成できます。次に例を示します。

imagesMapは、画像ごとに 1 つずつ、他のマップを含むマップになりました。

Image代わりに、次のように定義されたレコードを使用して、レコードを含むマップを作成したいと思います。

どうすればsのimagesMapマップとして持つことができImageRecordますか? にリバイバーを渡してできることはありますかfromJS、それとも「古い」アプローチを使用する必要がありますか?

0 投票する
1 に答える
1260 参照

javascript - node.js JSON.parse リバイバーは重複キーを報告しませんか?

重複キーを検出して保存する JSON パーサーを使用しようとしています。node.js で JSON.parse() をリバイバーと共に使用しています。重複キーを取得したときに教えてくれることを期待しています。しかし、そうではありません。別の方法はありますか?リバイバーまたはその他の引数で重複キーを処理する、より優れた JSON パーサーはありますか?

出力は次のとおりです。

0 投票する
1 に答える
627 参照

javascript - JSON.parse Reviver 関数で予期しない動作が発生し、キー プロパティではなくオブジェクトが削除される

JSBin リンクを使用すると、コードをすばやく実行できます。

JSbinhere

問題はコメントにありますが、値を返さない場合、または値を返す場合はundefined、そのプロパティをオブジェクトから削除する必要があります。変換されていない値を返す場合、それは同じままです。

しかし、テストしてみると、オブジェクト全体が削除されているように見えます。最初の例は問題なく動作し、偶数は負の数に変換され、奇数は変更されません。

しかし、2 番目の例では、オブジェクトを取得することさえできず、単に未定義です。ドキュメントを読み間違えているのでしょうか、それとも何か問題がありますか?

2 番目の例では、結果は定義されていません。