2017-11-02 8 views
1

JSON形式でデータを表示していますが、出力に不要なスラッシュがあります。これらは私のコードです:JSON結果からスラッシュを削除するC#

RestfulClient.cs

public class RestfulClient 
{ 
    private static HttpClient client; 
    private static string BASE_URL = "http://localhost:8080/"; 

    static RestfulClient() 
    { 
     client = new HttpClient(); 
     client.BaseAddress = new Uri(BASE_URL); 
     client.DefaultRequestHeaders.Accept.Add(
      new MediaTypeWithQualityHeaderValue("application/json")); 
    } 

    public async Task<string> addition(int firstNumber, int secondNumber) 
    { 
     try 
     { 
      var endpoint = string.Format("addition/{0}/{1}", firstNumber, secondNumber); 
      var response = await client.GetAsync(endpoint); 
      return await response.Content.ReadAsStringAsync(); 
     } 
     catch (Exception e) 
     { 
      HttpContext.Current.Server.Transfer("ErrorPage.html"); 
     } 
     return null; 
    } 
} 

AdditionController.cs

public class AdditionController : ApiController 
{ 
    private RestfulClient restfulClient = new RestfulClient(); 
    public async Task<IHttpActionResult> Get(int firstNumber, int secondNumber) 
    { 
     var result = await restfulClient.addition(firstNumber, secondNumber); 
     return Json(result); 
    } 
} 

出力:

"{\"firstNumber\":9,\"secondNumber\":6,\"sum\":15}"

予想される出力:

"{"firstNumber":9,"secondNumber":6,"sum":15}"

が、私はそれを達成するために、文字列をデシリアライズする必要がありますか?はいの場合は、どうすればいいですか?または、application/jsonの部分を変更する必要がありますか?誰かがあまり前もってあなたに感謝してくれて助けてください。

+0

[C#でJSONから脱出characteresの交換]の可能複製(https://stackoverflow.com/questions/16692371/replacing-escape-characteres-変換が必要です試してみてくださいfrom-json-in-c-sharp) –

+0

return Json(result).Replace(@ "\"、 "");このコードはこれを処理するのに十分です。 – Sandeep

+0

'JsonResult 'に 'Replace'の定義がなく、 'Replace'という型の最初の引数 'JsonResult 'を受け入れることができませんでした。 ' –

答えて

1

//このコードは、特定のタイプ

public class Temp 
    { 
     public string firstNumber{ get;set;} 
     public decimal secondNumber{ get;set;} 
     public decimal sum{ get;set;} 
    } 


    public class AdditionController : ApiController 
    { 
    private RestfulClient restfulClient = new RestfulClient(); 
    public async Task<IHttpActionResult> Get(int firstNumber, int secondNumber) 
    { 
     var result = await restfulClient.addition(firstNumber, secondNumber); 
     var resultDTO = JsonConvert.DeserializeObject<Temp>(result); 
     return Json(resultDTO); 
    } 
    } 
+0

これをAdditionController.csまたはRestfulClient.csの下に置きますか? –

+0

上記のクラスとUSEを作成するこのコードJsonConvert.DeserializeObject (result); –

+0

AdditionController.csのコードを入れてください –

関連する問題