3

JSON形式で応答するWCF RESTfullサービスを使用していますが、デフォルトでは、WCFサービスはきれいにフォーマットされていないJSONメッセージを送信します(つまり、集計なしのjsonオブジェクトを意味します)。

デフォルトでは、WCF は次のような JSON を送信します。

{"ResponseBody":{"Code":"0011","InvocationTime":278,"Message":""},"ResponseInformation":{"ServiceCode":0,"ServiceMessage":"Successfull","ServiceInvocationTime":0}}

しかし、私はこれが必要です:

{
"ResponseBody": {
    "Code": "0011",
    "InvocationTime": 278,
    "Message": ""
},
"ResponseInformation": {
    "ServiceCode": 0,
    "ServiceMessage": "Successfull",
    "ServiceInvocationTime": 0
}

この単純な問題の解決策を知っている人はいますか? ありがとう!

4

2 に答える 2

2

Json.NETを使用できます。ライブラリ(NuGetパッケージとしても利用可能)への参照を追加し、追加します

using Newtonsoft.Json;

クラスファイルに。次に、次の手順を実行します。

var json = "{\"ResponseBody\":{\"Code\":\"0011\",\"InvocationTime\":278,\"Message\":\"\"},\"ResponseInformation\":{\"ServiceCode\":0,\"ServiceMessage\":\"Successfull\",\"ServiceInvocationTime\":0}}";
var formattedJson = JsonConvert.DeserializeObject(json).ToString();
于 2013-03-07T14:35:25.253 に答える
0

normally wcf responds in xml format .so if you specify that response in json, it will give the result in jason format.below example the request in xml format and response in json format.

 [OperationContract]
    [WebInvoke(Method = "GET",
        RequestFormat = WebMessageFormat.Xml,
       ResponseFormat = WebMessageFormat.Json,
       BodyStyle = WebMessageBodyStyle.Bare,
       UriTemplate = "GetAllcustomer")]
   List< CustomerResponse> GetAllCustomerDetails();
于 2013-03-07T14:21:33.917 に答える