Jsオペレーションバックグラウンドから返されるjsonデータ

2099 ワード

プロジェクト開発プロジェクトでは、フロントがバックグラウンドにjsonデータを要求し、バックグラウンドがjson文字列を返してフロントを提供し、jsが取得した後、フロントエンドに対応する操作を行うというニーズがよくあります.
ここでは、フロントでjson文字列を取得した後、jsonオブジェクトに変換する必要があります.
//JSON   :

   

var str1 = '{ "name": "cxh", "sex": "man" }';

   

//JSON  :

   

var str2 = { "name": "cxh", "sex": "man" };

   

// 、JSON      JSON  

   

//      str1,             JSON  :

   

// JSON      JSON  

   

var obj = eval('(' + str + ')');

   

//  

   

var obj = str.parseJSON(); // JSON      JSON  

   

//  

   

var obj = JSON.parse(str); // JSON      JSON  

   

//  ,       :

   

Alert(obj.name);

   

Alert(obj.sex);

この機能を説明するために、子豚は
シミュレーションバックグラウンドデータ:
ASPを使用しています.NET MVC
[HttpPost]

public JsonResult Books()

{

    Entity.Books result = new Books(){

            Title="    ",

            Brief="    ",

            Auther="    "'

            Price="    ",

            Tag="    "

        };

    return Json(result);

}

バックグラウンドがフロントに戻った後、フロントには次の操作が必要です.
function loadBooksInformation(par) {

    var book = JSON.parse(par);//   json  

   

    var bookTitle = $("#bookTitle");

    var bookSummary = $("#bookSummary");

    var bookAuther = $("#bookAuther");

    var bookPrice = $("#bookPrice");

    var bookTag = $("#bookTag");

   

   

    bookTitle.val(book.Title);

    bookSummary.val(book.Brief);

    bookAuther.val(book.Auther);

    bookPrice.val(book.Price);

    bookTag.val(book.Tag);

}

これにより、1つの伝送プロセスが完了します.もちろん,子豚はjsを用いてバックグラウンドにデータを要求する過程を省略する.
   
特に注意:
objが本来JSONオブジェクトであれば、eval()関数を用いて変換後(複数回変換しても)JSONオブジェクトであるが、parseJSON()関数を用いて処理すると疑問(文法異常を投げ出す)が生じる.
   
PS:json文字列をC#オブジェクトに変換する必要がある場合は?詳細については、http://www.smallerpig.com/archives/292を参照してください.