問題タブ [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.
javascript - JSON.parsereviverパラメーターを使用して日付文字列を解析する方法
私のJSON文字列には、次のような値を返す日付フィールドが含まれています。
私は特に、時刻ではなく日付コンパートメントのみを解析することに興味があります。reviver関数を使用してみましたが、興味深いことに、reviver関数が呼び出されることはありません。(Firefoxで試してみました)
これを実現するための私のコードは次のとおりです。
JSON.parseinはloadArticle
決して呼び出しませんdateReviver
。
私は一日中投資しましたが、運がありませんでした!誰か助けてくれませんか?
javascript - JSON.parsereviver関数にはn+1個のキーがありますか?
JSON文字列を解析するときにreviver関数を提供できるコードオーバーロードをテストしたかったのです。
したがって、このコード:
収量10
(ok)。
しかし、それから私は自分自身に、「これは何if (k === "")
ですか?」と自問しました。削除しましょう!:
たぶん5が整数だから?試してみましょうparseInt
:
とても奇妙な...
そこで、問題の原因となっているキー(ここには1つしかありませんが)を確認したいと思いました。
2つのアラートがありました:
5
[object Object]
IMHOk
とv
はとのためkey
でありvalue
、実際、ここには1つのキーしかありません。
この他のアラートは何ですか?そして、なぜ私はチェックしなければならないのif (k === "")
ですか?
json - Javascript: リバイバー機能を使用すると、数字を連結しているときにすべてのキーを変更できないようです
batchesX のすべてのキーを変更したいだけです。しかし、連結のため、すべてのキーを変更できないようです。これは私がポストから学んだことです。
すべてのキーを数字で変更する方法を教えてください。
コードが長すぎませんか?
よろしくお願いします。クレメント
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 値で到着する理由がわかりません (ちなみに、これらはすべて単純な文字列です)。
javascript - Immutable.jsを使用してJavaScriptの生オブジェクトからレコードのマップを作成するには?
私は immutable.js が初めてで、生の JS オブジェクトからレコードを使用する方法をよりよく理解したいと思っています。
Immutable.fromJS()
生のオブジェクトを渡すマップを作成できます。次に例を示します。
imagesMap
は、画像ごとに 1 つずつ、他のマップを含むマップになりました。
Image
代わりに、次のように定義されたレコードを使用して、レコードを含むマップを作成したいと思います。
どうすればsのimagesMap
マップとして持つことができImageRecord
ますか? にリバイバーを渡してできることはありますかfromJS
、それとも「古い」アプローチを使用する必要がありますか?
javascript - node.js JSON.parse リバイバーは重複キーを報告しませんか?
重複キーを検出して保存する JSON パーサーを使用しようとしています。node.js で JSON.parse() をリバイバーと共に使用しています。重複キーを取得したときに教えてくれることを期待しています。しかし、そうではありません。別の方法はありますか?リバイバーまたはその他の引数で重複キーを処理する、より優れた JSON パーサーはありますか?
出力は次のとおりです。
javascript - JSON.parse Reviver 関数で予期しない動作が発生し、キー プロパティではなくオブジェクトが削除される
JSBin リンクを使用すると、コードをすばやく実行できます。
問題はコメントにありますが、値を返さない場合、または値を返す場合はundefined
、そのプロパティをオブジェクトから削除する必要があります。変換されていない値を返す場合、それは同じままです。
しかし、テストしてみると、オブジェクト全体が削除されているように見えます。最初の例は問題なく動作し、偶数は負の数に変換され、奇数は変更されません。
しかし、2 番目の例では、オブジェクトを取得することさえできず、単に未定義です。ドキュメントを読み間違えているのでしょうか、それとも何か問題がありますか?
2 番目の例では、結果は定義されていません。