JSON RPC 格式化
Posted
技术标签:
【中文标题】JSON RPC 格式化【英文标题】:JSON RPC Formatting 【发布时间】:2012-04-16 11:10:47 【问题描述】:在我的项目中,我必须向 oracle 服务器发送一个非常具体的 JSON 请求以接收响应; 目前我正在发送 json 字符串:
\"id\":\"1\",\"method\":\"getOverviewInfo\",\"Params\":\"overviewID\":\"0000004297\",\"overviewType\":\"Stock Items\",\"AORParams\":null,\"arrOptions\":\"columnInfo\":\"1;100;1;1#\",\"orderInfo\":\"1;0;0#\""
来自这个班级:
public class SendOverview
public string id get; set;
public string method get; set;
public SendOV Params get; set;
public class SendOV
public string overviewID get; set;
public string overviewType get; set;
public string AORParams get; set;
public SentDatas arrOptions get; set;
public class SentDatas
public string columnInfo get; set;
public string orderInfo get; set;
现在我的问题是,我是否可以调整请求字符串以从 Params 数组中删除成员名称,而不是 "overviewID" = "xxxx","overviewType" = "xxxx".......
应该是 "xxxx","xxxx"
编辑格式:
"id": "1",
"method": "getOverviewInfo",
"Params":
"0000004297",
"Stock Items",
null,
"columnInfo": "1;100;1;1#",
"orderInfo": "1;0;0#"
【问题讨论】:
这里的问题在于我不知道如何序列化一个多对象数组,甚至创建它.. 【参考方案1】:是的,您可以这样做,但如果您这样做,您需要将对象 替换为数组 [] 以获得参数的值。
喜欢:
"id": "1",
"method": "getOverviewInfo",
"Params": [
"0000004297",
"Stock Items",
null,
"columnInfo": "1;100;1;1#",
"orderInfo": "1;0;0#"
]
我假设您想要这样做的原因是传输大小。您发送到的端点仍然需要知道如何读取该请求,如果它支持上述位置参数,您将需要确保它们以正确的顺序定位,并保持不变。
【讨论】:
以上是关于JSON RPC 格式化的主要内容,如果未能解决你的问题,请参考以下文章