2009-08-18 19 views
1

私は、ASP.NET Webサービスを使用してJQueryとJSONを手に入れようとしています。 Webサービスは、この結果を返します:クライアント側でJQueryでJSON配列を解析する

{ 
    MyResult: { 
     Ticket: { 
      "Author": "rd", 
      "CssClass": "RED", 
      "ExpirationDateTime": "2009-08-16T16:55:43.577+02:00", 
      "id": "38", 
      "Message": "We are going down", 
      "ModifiedDateTime": "2009-08-17T11:14:20.5+02:00", 
      "MoreInfo": null 
     } 
    } 
} 

私はこのようなAJAX機能を使用して結果を得るためにはJQueryを使用しています:

$.ajax({ 
    type: "POST", 
    url: "TickerFeeder.asmx/GetTicket", 
    data: "{}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(resultJSON) { 
    //-- Please fill your code here for getting the first item from the array into variables 
    } 

しかし、どのように、私はものを逃していますJSON配列の最初の項目をいくつかの変数に取り出します。このようなもの(擬似コード):

var message = resultJSON[0].Message 
var cssclass = resultJSON[0].CssClass 

ヒントをお持ちの方、お手数ですが、あなたの助けのための

おかげ 乾杯 フランク

答えて

9

あなたのJSONあなたはMyResultTicketメンバーに引用符を使用する必要があり、not validです。

{ 
    "MyResult": { 
     "Ticket": { 
      "Author": "rd", 
      "CssClass": "RED", 
      "ExpirationDateTime": "2009-08-16T16:55:43.577+02:00", 
      "id": "38", 
      "Message": "We are going down", 
      "ModifiedDateTime": "2009-08-17T11:14:20.5+02:00", 
      "MoreInfo": null 
     } 
    } 
} 

はまた、配列は角括弧[....]literal notationで定義されている関わる一切の配列が存在しないので、あなたが直接あなたの値にアクセスすることができます

resultJSON.MyResult.Ticket.Message; 
resultJSON.MyResult.Ticket.CssClass; 
0

[OK]を、私のAsp.Netことが判明しましたwebServiceが間違った結果セットを生成していました。したがって、文字列アイテムを返す代わりに、完全なオブジェクトを返し、Json変換をAsp.Net Webサービスに処理しました。それはトリックでした!