簡體   English   中英

如何將純文本json數據轉換為字符串?

[英]How to turn plain text json data into string?

我試圖模擬一些測試數據來檢查json字符串是否正確地反序列化為對象。

我有一些長度為660行的json數據,所以我只包含了一部分

{
"DataA": "string",
"DataB": "datetime",
"DataC": {
    "DataC1": "datetime",
    "DataC2": "datetime",
    "DataC3": "datetime",
    "DataC4": int,
    "DataC5": int,
    "DataC6": "string",
    "DataC7": int,
    "DataC8": "object"
},
"DataD": {
    "DataD1": decimal,
    "DataD2": decimal,
    "DataD3": "string",
    "DataD4": int,
    "DataD5": decimal,
    "DataD6": "string",
    "DataD7": {
        "DataD7i": null,
        "DataD7ii": [

我已經創建了相應的類,但我正在嘗試測試它們。 但是我無法將此json數據轉換為字符串,因為雙引號關閉字符串。 我曾嘗試過使用ecsapes但無濟於事。

string testjson = "{
"DataA": "string",
"DataB": "datetime",
"DataC": {
    "DataC1": "datetime",
    "DataC2": "datetime",
    "DataC3": "datetime",
    "DataC4": int,
    "DataC5": int,
    "DataC6": "string",
    "DataC7": int,
    "DataC8": "object"
},
"DataD": {
    "DataD1": decimal,
    "DataD2": decimal,
    "DataD3": "string",
    "DataD4": int,
    "DataD5": decimal,
    "DataD6": "string",
    "DataD7": {
        "DataD7i": null,
        "DataD7ii": ["

我想打電話

            ObjectA objectblah= JsonConvert.DeserializeObject<ObjectA>(output);

但無法設法將json變成字符串。 我知道這是一個微不足道的問題,但我是新的,我堅持這個問題。 任何幫助將不勝感激。

謝謝

問題的一部分看起來是使用雙引號,可以使用反斜杠\\來轉義,但是要在C#中使用多行字符串,您還需要在開頭添加@符號,如此答案https中所示: //stackoverflow.com/a/1100265/2603735

在我的單元測試項目中,每當我有“大量”文本時,我都會將該內容放入單獨的文本文件中。 那你有兩個選擇:

  1. 使該文本文件成為嵌入式資源,您可以通過Assembly.GetExecutingAssembly()。GetManifestResourceStream(...)加載該資源。
  2. 或者將文件的項目屬性“復制到輸出目錄”設置為“如果更新”。 然后通過File.ReadAllText閱讀它。

將其保存在單獨的文件中使編輯/維護變得更加容易。

像這樣使用它:

  string testjson = @"
{
DataA: string,
DataB: datetime,
DataC: {
    DataC1: datetime,
    DataC2: datetime,
    DataC3: datetime,
    DataC4: int,
    DataC5: int,
    DataC6: string,
    DataC7: int,
    DataC8: object
},
DataD: {
    DataD1: decimal,
    DataD2: decimal,
    DataD3: string,
    DataD4: int,
    DataD5: decimal,
    DataD6: string,
    DataD7: {
        DataD7i: null,
        DataD7ii: [] 
    }
}
}"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM