2012-12-19 64 views
0

這裏是我的示例JSON數據如何讀取特定類型的JSON數據

{"Caption":"BBA Feedback Form ","Notes":"Fields marked with \u003cfont size=\"-2\" color=\"#e30102\" face=\"Verdana\"\u003e (*) \u003c/font\u003e are compulsory","Name":"Name\u003cfont size=\"-2\" color=\"#e30102\" face=\"Verdana\"\u003e * \u003c/font\u003e","Subject":"Subject\u003cfont size=\"-2\" color=\"#e30102\" face=\"Verdana\"\u003e * \u003c/font\u003e","Email":"Email Address\u003cfont size=\"-2\" color=\"#e30102\" face=\"Verdana\"\u003e * \u003c/font\u003e","Details":"Feedback\u003cfont size=\"-2\" color=\"#e30102\" face=\"Verdana\"\u003e& nbsp;* \u003c/font\u003e"} 

我想用jQuery來分析它,填滿我的標籤。我嘗試像這樣下面的方式,但事情沒有奏效。

function LoadEnquiryData() { 
    $.ajax({ 
     type: "POST", 
     url: urlToHandler + "?ac=show", 
     data: {}, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (data) { 
      $("input[id*='enq_lblcaption']").val(data["Caption"]) 
      $("input[id*='enq_lblnotes']").val(data["Notes"]) 
      $("input[id*='enq_lblfield_name']").val(data["Name"]) 
      $("input[id*='enq_lblfield_subject']").val(data["Subject"]) 
      $("input[id*='enq_lblfield_email']").val(data["Email"]) 
      $("input[id*='txtEnqDetails']").val(data["Details"]) 
      $("input[id*='btnEnqSubmit']").val(data["SubmitVal"]) 

     }, 
     error: function (XMLHttpRequest, textStatus, errorThrown) { 
      alert(textStatus); 
     } 
    }); 
} 

所以請指導我如何解析它。感謝

+0

「我想這樣的方式之下,但事情並沒有工作。」你怎麼知道它不起作用?任何錯誤? ?? –

回答

0
$("input[id*='enq_lblcaption']").val(data.Caption) 
$("input[id*='enq_lblnotes']").val(data.Notes) 
and so on... 

我的壞,你不需要parseJSON這個 - 我已經用它工作了別的東西,只是它突然出現在這裏。我上面編輯了我的代碼,這應該很好。

1

我會加入一些比「沒有工作」的幫助(比如你得到的錯誤),但是從你所擁有的東西我什麼都看不出來。從JSON,您可以訪問域雙向的:

首先,你必須像data["Caption"] 或第二,像Data.Caption

我確認會在您的數據,以確保它符合樣本你提供。你可能會得到這些對象的數組?很難分辨出返回數據的服務器代碼。

1

您確定data變量不是nullundefined

我說這是因爲你的邏輯是正確的。此外,還有兩種方法做,讓您的data如下:

data["Caption"] 

data.Caption 

(做相同的其他值)

,但是你可以似乎有些奇怪不這樣做。如果你想測試什麼,我告訴你,去這裏:

http://jsfiddle.net/oscarj24/6NUNd/

而且看你如何得到json沒有問題,只有當data不是nullundefined解析。


我會建議你打印data變量先做console.log(data);,如果你$.ajax callback工作正常看一看。


希望這有助於:-)