我正在尝试模拟一些测试数据以检查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变成字符串。我知道这是一个微不足道的问题,但我是新的,我坚持这个问题。任何帮助将不胜感激。
由于
答案 0 :(得分:4)
部分问题似乎是使用双引号,可以使用反斜杠\
进行转义,但要在C#中使用多行字符串,还需要附加@
开头的符号,如此答案所示https://stackoverflow.com/a/1100265/2603735
答案 1 :(得分:3)
在我的单元测试项目中,每当我有“大量”文本时,我都会将该内容放入单独的文本文件中。那你有两个选择:
将其保存在单独的文件中会使编辑/维护变得更加容易。
答案 2 :(得分:3)
像这样使用:
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: []
}
}
}"