2017-02-14 13 views
2

HttpResponseMessageを使用して複数のJsonオブジェクトを取得する際に問題が発生しました これをJsonとして文字列を折り返さずにどのように認識できますか?複数のjsonオブジェクトをHttpResponseMessageとしてWeb API経由で返す方法は?

これは、私はそれが正常に動作しますが、それはそれ自体で"\ n個の\ rを"を追加し、これまでに...

private HttpResponseMessage SetToJson(string jsonString)   
{  
    string str = "ABC"; 

    HttpRequestMessage Request = new HttpRequestMessage(); 
    Request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration()); 
    Request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json"); 

    return Request.CreateResponse(HttpStatusCode.OK, new { jsonString, str }, JsonMediaTypeFormatter.DefaultMediaType); 
} 

を試してみましたコードです。これはどのようにして修正することができますか?

。これは

{"jsonString":["{\r\n \"resourceType\": \"Patient\",\r\n \"entry\": []\r\n}","ABC"]} 
+0

が持っているのhttp meddage応答に再びJSONにシリアライズを取得あなたの匿名オブジェクトの結果を作成する前に、バックオブジェクトへの着信jsonStringをデシリアライズする必要があり、適切なオブジェクトを返すようにした場合あなたはNewtonsoft JsonConvert.SerializeObject(YOUROBJECT、Formatting.None)で試してみました。 –

+0

はい..それは同じ結果をもたらします –

+0

それはそう大丈夫ですか... ... –

答えて

2

上記のコードでレスポンスを返されますが、二回オブジェクトをシリアライズかのように思われます。

意図は、あなたが最終的に

private HttpResponseMessage SetToJson(string jsonString) { 
    string str = "ABC"; 

    var Request = new HttpRequestMessage(); 
    Request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration()); 
    Request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json"); 

    var obj = JsonConvert.DeserializeObject(jsonString); 

    return Request.CreateResponse(HttpStatusCode.OK, new { obj, str }, JsonMediaTypeFormatter.DefaultMediaType); 
} 
関連する問題