string param = "{
\"params\": [ { \"username\":\"test\", ... } ],
\"jsonrpc\": \"2.0\"
}";
雙引號嵌套導致編譯錯誤,且可讀性極差。
@\"...\" + 雙雙引號轉義string param = @"
{
""params"": [
{
""username"": ""test"",
""cmdid"": ""1002""
}
],
""jsonrpc"": ""2.0""
}";
@ 仍需轉義。\"\"\"...\"\"\"(推薦)string param = """
{
"params": [
{
"username": "test",
"cmdid": "1002"
}
],
"jsonrpc": "2.0"
}
""";
public class RpcRequest {
public List Params { get; set; }
public string Jsonrpc { get; set; } = "2.0";
public string Method { get; set; }
public int Id { get; set; }
}
public class Param {
public string Username { get; set; }
public string Cmdid { get; set; }
// ...
}
// 使用
var req = new RpcRequest {
Params = new List { new Param { Username = "test", Cmdid = "1002" } },
Method = "Verify",
Id = 12
};
string json = JsonSerializer.Serialize(req); // System.Text.Json 或 Newtonsoft.Json
var response = JsonSerializer.Deserialize(jsonString);
臨時測試用 \"\"\",正式代碼請定義類並序列化。 手拼 JSON 字符串是技術債的源頭。