2011-11-20 7 views
5

を返す必要があります...Webサービスは、私はJSONを返すために自分のWebサービスを必要とするJSON

私は自分の.asmxファイルに次のコードを持っている:

namespace Feed 
{ 
    [WebService(Namespace = "http://tempuri.org/")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    [System.ComponentModel.ToolboxItem(false)] 

    [System.Web.Script.Services.ScriptService] 
    public class searchPerson : System.Web.Services.WebService 
    { 

     [WebMethod] 
     [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
     public Person GetDave() 
      { 
       Person dave = new Person(); 

       dave.FirstName = "Dave"; 
       dave.LastName = "Ward"; 

     return dave; 
     } 
    } 
} 

次の値を返します。

<?xml version="1.0" encoding="utf-8"?> 
<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/"> 
    <FirstName>Dave</FirstName> 
    <LastName>Ward</LastName> 
</Person> 

XMLの代わりにJSONを返すようにするにはどうすればよいですか?

+0

XMLではなくJSONが必要な場合、なぜ名前空間が定義されていますか? – Oded

+0

これは両方のためのセットアップのように見えます..あなたはYourPage.asmx/jsに行き、Javascriptプロキシスクリプトを見ることができますか? –

+0

@MikeChristensenはい可能です – Mikael

答えて

5

ウェブサービスの定義が正しいように見えます。投稿を介してサービスを呼び出すことを確認し、キーがapplication/jsonというように 'content type'ヘッダーを指定していることを忘れないでください。

(これはjQueryのを使用しているが、あなたが好きならば、あなたはjavascriptの低レベルを使用することができます)

$.ajax({ 
    type: "POST", 
    contentType: "application/json; charset=utf-8;", 
    url: "http://MyWebServiceURL", 
    data: JSON.stringify({ ParameterName: "DataToSend" }), 
    dataType: "json", 
    success: function (data, textStatus, jqXHR) { 
     //do something 
    }, 
    error: function (jqXHR, textStatus, errorThrown) { 
     //fail nicely 
    } 
}); 
+0

これは、Webサービスが動作していたことを示しています。問題は私のiPhoneアプリケーションからどのように呼び出されたかです。 – Mikael

1

開始する前に、以下のreferancesを追加します。

using System.Web.Script.Services; 
using System.Web.Script.Serialization; 

がために、あなたの方法で、以下のコードを使用します任意のデータをJSONに変換します。

JavaScriptSerializer serializer = new JavaScriptSerializer(); 
return serializer.Serialize(empData); 

empDataはデータの配列です。 DataTableからの行。

関連する問題