2016-08-25 5 views
0

が動作していない私は、この形式に)(置き換えるエスケープ文字のため

"{ "result": null, "errorcode": "101", "errormessage": "OLD VERSION !!! ", "failed": "Y"}" 

このJSON文字列

"\"{\\r\\n \"result\": null,\\r\\n \"errorcode\": \"101\",\\r\\n \"errormessage\": \"OLD VERSION !!! \",\\r\\n \"failed\": \"Y\"\\r\\n}\"" 

をフォーマットする必要がありますが、私は何を得たことは

"\"{ \"result\": null, \"errorcode\": \"101\", \"errormessage\": \"OLD VERSION !!! \", \"failed\": \"Y\"}\"" 
です

Jsonをフォーマットする私の機能文字列は、私があまりにもなく、 string y = x.Replace("\\", "");を試してみました、私はこれらの性質を持つErrorResponse.cs

public class ErrorResponse 
{ 
    public string result { get; set; } 
    public string errorcode { get; set; } 
    public string errormessage { get; set; } 
    public string failed{ get; set; } 
} 

と呼ばれるクラスを持って、私は

ErrorResponse errres = new ErrorResponse() 
      { 
       errormessage = statusR_msg, 
       errorcode = statusR, 
       resend = "Y" 
      }; 
json = JsonConvert.SerializeObject(errres); 
json = func.FormatJson(json); 

としての機能の上に呼ばれている

public string FormatJson(string oObject) 
{ 
    string js = JValue.Parse(oObject).ToString(Newtonsoft.Json.Formatting.Indented); 
    string x = js.Replace("\r\n", ""); 
    string y = x.Replace(@"\", ""); 

    return y; 
} 

です働いていませんでした。 ありがとうございます。

+0

文字列がどのように表示されているかを表示できますか?置換は '\'ではなく '' 'のエスケープ文字であるため動作しません。 'oObject'の値をTextVisualizerでチェックすると' \ "'は見えませんが、 '' ' –

+0

はjsを直接使ってみましたか?クォートマークを付けるにはエスケープが必要ですが、これはまだ2番目の文字列に入れたいものです。 –

+0

もし私が "文字を置き換えると、私は以下のような結果を得ます@Gilad Greenそれはあなたが以前に言及したものなので、私はどこに行かないのですか?" } " – hsehb

答えて

1

これは表示の不具合のようです。文字列の先頭と末尾に引用符があり、\nが表示されているのは\\nと表示されています。実際のの文字列の値ではなく、文字列の値がエスケープされて動作することを示唆していますコード。

私はあなたがウォッチウィンドウからその値を得ていると思っています。ここでは、その値を生の値ではなくエスケープ文字列として表示します。文字列を表示しているときに文字列を実際に表示していることを確認してください(Text Visualiser/magnifying glassアイコンをクリックするなど)。明らかに\が実際の文字列に含まれていない場合、置換えはそれらを取り除くことはありません。

+0

私のテキストビジュアライザでは、余分な不要な文字は表示されません。 – hsehb

関連する問題