0

次のように、二重引用符を削除するコードを作成しました。

resulted_value = "{series_name : \"" + final_resulted_series_name + "\",period_name: \"" + period_name + "\",period_final_value: \"" + period_final_value + "\"}";

@"""variable""" でも試してみましたが無駄でした。\ スラッシュを削除し、すべての値を "" 内に配置したいと考えています。以下は私の得られた結果です。

["{series_name : \"Actual\",period_name: \"Q1 / 2013\",period_final_value: \"17\"}","\"{series_name : \\\"Actual\\\",period_name: \\\"Q1 / 2013\\\",period_final_value: \\\"17\\\"}\"","{series_name : \"Actual\",period_name: \"Q2 / 2013\",period_final_value: \"15\"}","\"{series_name : \\\"Actual\\\",period_name: \\\"Q2 / 2013\\\",period_final_value: \\\"15\\\"}\"","{series_name : \"Actual\",period_name: \"Q3 / 2013\",period_final_value: \"13\"}","\"{series_name : \\\"Actual\\\",period_name: \\\"Q3 / 2013\\\",period_final_value: \\\"13\\\"}\"","{series_name : \"Actual\",period_name: \"Q1 / 2013\",period_final_value: \"14.103\"}""]

以下は、文字列値を JSON 形式にシリアル化するために記述したコードです。

modified_listofstrings.Add(resulted_value);
System.IO.File.WriteAllText(@"C:\Json\Json.json", jSearializer.Serialize(resulted_value));

また、この方法も試しました

var obj = new
      {
        series_name = final_resulted_series_name,
        period_name,
        period_final_value
      };
System.IO.File.WriteAllText(@"C:\Json\Json.json",jSearializer.Serialize(obj));

これによりバックスラッシュが削除されますが、最初の値からのみであり、得られる出力は次のとおりです。

[{"series_name":"Actual","period_name":"Q1 / 2013","period_final_value":"17"},"\"{series_name : \\\"Actual\\\",period_name: \\\"Q1 / 2013\\\",period_final_value: \\\"17\\\"}\"",{"series_name":"Actual","period_name":"Q2 / 2013","period_final_value":"15"},"\"{series_name : \\\"Actual\\\",period_name: \\\"Q2 / 2013\\\",period_final_value: \\\"15\\\"}\"",{"series_name":"Actual","period_name":"Q3 / 2013","period_final_value":"13"},"\"{series_name : \\\"Actual\\\",period_name: \\\"Q3 / 2013\\\",period_final_value: \\\"13\\\"}\""]

すべての値からバックスラッシュを削除したい。

以下は私に出力を与えるコードです、

if (xmlAttributeCollection_for_period != null)
                   {
                       var periodid = xmlAttributeCollection_for_period["periodid"];
                       xmlActions[j] = periodid.Value;
                       period_final_id = periodid.Value;
                       string period_name = Client.GetAttributeAsString(sessionId, periodid.Value, "name", "");

                       var action = xmlAttributeCollection_for_period["value"];
                       xmlActionsone[j] = action.Value;
                       period_final_value = action.Value;

                       values += final_resulted_series_name + ":" + period_name + ":" + period_final_value + ",";
                       string vals = values.Split(',')[1];
                       counts = values;
                       string[] periods = counts.Split(',');
                       Period1 = periods[j];
                       // string final_resulted_period_name = Client.GetAttributeAsString(sessionId, resulted_series_id, "name", "");
                       var obj = new
                       {
                           series_name = final_resulted_series_name,
                           period_name,
                           period_final_value
                       };

                       resulted_value = "{series_name : \"" + final_resulted_series_name + "\",period_name: \"" + period_name + "\",period_final_value: \"" + period_final_value + "\"}";
                       modified_listofstrings.Add(resulted_value);
                       System.IO.File.WriteAllText(@"C:\Json\Json.json", jSearializer.Serialize(resulted_value));
                   }

どんな助けでも大歓迎です...

4

1 に答える 1

0

次のようにobj変数をリストに渡しました

modified_listofstrings.Add(obj);

そして、以下のようにリストをシリアル化しました

jSearializer.Serialize(modified_listofstrings)

宣言は次のとおりでした。

 List<object> modified_listofstrings = new List<object>();
 System.Web.Script.Serialization.JavaScriptSerializer jSearializer =
             new System.Web.Script.Serialization.JavaScriptSerializer();

そして、それは望ましい出力を与えました

于 2013-11-12T12:28:01.753 に答える