共用方式為


資料傳輸格式 (ADO.NET 資料服務架構)

ADO.NET 資料服務架構支援採用多種資料格式的 HTTP 要求和回應來配合各種用戶端代理程式。目前,ADO.NET 資料服務架構可以用 JavaScript 物件標記法 (JavaScript Object Notation,JSON) 和原子發行通訊協定 (Atom Publishing Protocol,AtomPub) 來表示資料。

預設表示格式為 Entity Data Model (EDM) 與 AtomPub XML 語法之固定對應所產生的 AtomPub。使用 ID 'ADATUMCORP' 來定址 Customer 的 URI 為:

http://myserver/data.svc/Customers('ADATUMCORP')

此資料服務會使用此處所示的裝載回應:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<entry xml:base="http://myserver/data.svc/"
    xmlns:ads="https://schemas.microsoft.com/ado/2007/08/dataservices"
    xmlns:adsm="https://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
    adsm:type="NorthwindModel.Customers" 
    xmlns="http://www.w3.org/2005/Atom">
  <id>http://myserver/data.svc/Customers('ADATUMCORP')</id> 
  <updated /> 
  <title /> 
https://localhost:61243/nw.svc/Customers('ADATUMCORP') <author>
  <name /> 
  </author>
  <link rel="edit" href="//myserver/data.svc/Customers('ADATUMCORP')" 
       title="Customers" /> 
https://localhost:61243/nw.svc/Customers('ADATUMCORP')
       <content type="application/xml">
    <ads:CustomerID>ADATUMCORP</ads:CustomerID> 
    <ads:CompanyName>A. Datum Corporation</ads:CompanyName> 
    <ads:ContactName>Lisa Andrews</ads:ContactName> 
    <ads:ContactTitle>Sales Representative</ads:ContactTitle> 
    <ads:Address>Obere Str. 57</ads:Address> 
    <ads:City>Berlin</ads:City> 
    <ads:Region ads:null="true" /> 
    <ads:PostalCode>12209</ads:PostalCode> 
    <ads:Country>Germany</ads:Country> 
    <ads:Phone>030-0074321</ads:Phone> 
    <ads:Fax>030-0076545</ads:Fax> 
  </content>
  <link rel="related" title="Orders" 
      href="Customers('ADATUMCORP')/Orders" 
      type="application/xml;type=feed" /> 
  <link rel="related" title="CustomerDemographics" 
      href="Customers('ADATUMCORP')/CustomerDemographics" 
      type="application/xml;type=feed" /> 
</entry>

上述範例中的 Customer 實體同時包含具有基本值 (例如,指派給 CompanyName 的字串值) 的屬性以及指向其他資源 (例如 Orders) 的屬性。

此用戶端代理程式會依據 HTTP 要求中的 Accept 標頭來指定資料傳輸的格式。先前的要求使用了 application/atom+xml。透過將 Accept 標頭設定為 application/json,用戶端代理程式就會取得採用 JSON 格式的下列結果:

{
   "d":{
    __metadata: {
        uri: "Customers(\'ADATUMCORP\')",
        type: "NorthwindModel.Customers"
    }, 
    CustomerID: "ADATUMCORP", 
    CompanyName: "A. Datum Corporation",
       ContactName: "Lisa Andrews", 
       ContactTitle: "Sales Representative", 
    Address: "Obere Str. 57", 
    City: "Berlin", 
    Region: null, 
    PostalCode: "12209", 
    Country: "Germany", 
    Phone: "030-0074321", 
    Fax: "030-0076545", 
    Orders: {
        __deferred: {
            uri: "Customers(\'ADATUMCORP\')/Orders"
        }
    }
   }
}

雖然在語意上相等,不過大部分 JSON 版本都會輕易地與 JavaScript 環境 (例如 AJAX 應用程式) 整合。

Note附註

此裝載包含在 HTTP 要求的固定 "d" 屬性內部,以便減少不必要使用 ADO.NET 資料服務所建立之 JSON 裝載的次數。

如果用戶端代理程式正在發出 PUT 或 POST 要求,此要求的裝載可能會採用任何支援的資料格式。用戶端代理程式必須透過將 Content-Type 標頭設定為適當的 MIME 類型,指出要求的資料服務格式。如需詳細資訊,請參閱 HttpWebRequest PUT (ADO.NET 資料服務架構)HttpWebRequest POST (ADO.NET 資料服務架構)

另請參閱

概念

包含統一 URI 的簡單資料定址配置 (ADO.NET 資料服務架構)
HttpWebRequest GET (ADO.NET 資料服務架構)
.NET 用戶端程式庫 (ADO.NET 資料服務架構)

其他資源

ADO.NET Entity Framework