JSON RPC使用SPECIFIC命名序列化对象

时间:2012-04-26 12:18:26

标签: c# json json-rpc json.net

我使用NewtonSoft linq 2 json将类中的对象直接序列化为json字符串

我正在使用的类对象非常简单:

public class OverviewQuery
{
    public string id { get; set; }
    public string method { get; set; }
    public string Params { get; set; }

    public OverviewQuery(string sid, string smethod, string sparam)
    {
        this.id = sid;
        this.method = smethod;
        this.Params = sparam;
    }
}

如果我序列化,我会得到Json字符串:

"{\"id\":\"1\",\"method\":\"getStockItemDetails\",\"Params\":\"0000000002\"}"

我正在连接的Oracle服务器(通过WebAPI)要求我使用非常具体的命名, 这应该是

"{\"id\":\"1\",\"method\":\"getStockItemDetails\",\"Params\":[\"0000000002\"]}"

NewtonSoft有没有办法实现这种格式化? 没有正确的格式化,发送信息的唯一方法是通过硬编码一切..

1 个答案:

答案 0 :(得分:0)

序列化程序在您的课程中所做的事情似乎很简单。

通常,JSON-RPC服务要求信封中的params值为JSON Array(对于索引参数)或Object(对于命名参数)。

您是否可以更改您的课程,ParamsArray的{​​{1}}?