JavaScript - Json オブジェクトのフラット化
はじめに:
Asp.net mvc フレームワークで複雑な Json オブジェクトを Action メソッドに送信するために Ajax メソッドを使用すると、いくつかの問題が発生します。ここでは、JavaScript を使用してこの問題を解決します。 3.0 この問題を解決するには JsonValueProviderFactory を使用しますが、ここでは純粋な JS を使用したこの問題の解決策を示します。このメソッドは mvc 2.0 の古いシステムでも使用できます。
次のオブジェクト構造のような複雑なオブジェクトを送信する必要があります:
1 {
2 ホテル名:'abc',
3 ホテル住所:' No. 72, Haidian Road, Beijing',
4 部屋: [ {roomName:'Standard Room ', root: 720},
5 {RoomName:luxury room, roomprice: 1020}],
6 Hotelstar: 4
7}
8 // 現時点では、 Action オブジェクトのバックグラウンドに正しく送信されるようにするには、次の形式に変換する必要があります。
9
10
11 {
12 ホテル名:'abc',
13 ホテル住所:'No. 72, Haidian Road, Beijing',
14 部屋[0]: {部屋名:'スタンダード ルーム' ,roomPrice: 720},
15 Rooms[1]: {roomName:Deluxe Room,roomPrice:1020},
16 HotelStar:4
17 }
18 //フォーマット変換コード:
19
20 var Convert= {
21 _jsonFlat:function (data,parentPro, returnObj) {
22 if (オブジェクトのデータインスタンス) {
23 for (データ内のvarpro) {
24 try{
25 varproValue = eval( "data. " +pro.toString());
26 if(proValue instanceof Array) {
27 " for (var i = 0; i 28 If (parentPro) { 29 Convert._jsonFlat(proValue[i],parentPro + "." + pro + "["+ i + "]", returnObj); Convert._jsonFlat(proValue[i], pro + " [" + i +"] "、returnobj); 33} convert。_jsonflat(provalue、parentpro +" 45 returnObj[parentPro + "." + プロ] = プロ値; 46 else 47 returnObj[pro] =proValue; 48 49 } 50 catch(e) { }; 51 } 52 戻る; 53 } 54 //その他、string/int/datetime 形式と同様 55 returnObj[parentPro] = data; 56 },jsonFlat: function(data) { 57 //デバッガ; 58 if(データ && オブジェクトのデータ インスタンス) { 59 varretObj = {}; 60 Convert._jsonFlat(data, null, retObj); 61 returnretObj; 62 } 63 null を返します。 64 }, 65 } 解: 上記のコードは、Json オブジェクト形式の変換を完了します。変換後の Json オブジェクトは、後の台の Action メソッドにのみ渡されます。历json オブジェクト上のすべて 调用例子 view sourceprint? 1 $.ajax({ 2 url: "controller/action", 3 data:Convert.jsonFlat({/*your json data* /}), 4 success: function(){ 5 $(this).addClass("done"); 6 } 7 }); 3.0以降Mvc已经内置注册了JsonValueProvidエルファクトリー、その後、js を使用せずに、ajax メソッドを直接使用して扁平化を行うことができます: "controller/action", data:{/*json データ*/}, contentType: "application/json", success: function(){ $(this).addClass("done" ); } });

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

このチュートリアルでは、chart.jsを使用してパイ、リング、およびバブルチャートを作成する方法について説明します。以前は、4つのチャートタイプのchart.js:ラインチャートとバーチャート(チュートリアル2)、およびレーダーチャートと極地域チャート(チュートリアル3)を学びました。 パイとリングチャートを作成します パイチャートとリングチャートは、さまざまな部分に分かれている全体の割合を示すのに理想的です。たとえば、パイチャートを使用して、サファリの男性ライオン、女性ライオン、若いライオンの割合、または異なる候補者が選挙で受け取る票の割合を示すことができます。 パイチャートは、単一のパラメーターまたはデータセットの比較にのみ適しています。パイチャートのファンの角度はデータポイントの数値サイズに依存するため、パイチャートは値のあるエンティティをゼロ値で描画できないことに注意してください。これは、割合がゼロのエンティティを意味します

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...
