C#使用JObject生成JSON结构不符合预期问题求助
问题根因
你代码中的customer属性被错误嵌套到了order数组的内部对象中,导致结构不符合预期,需要调整JProperty的层级,让customer和order作为顶层JObject的同级属性。
修正后代码
JObject data = new JObject( new JProperty("channel", "Test"), new JProperty("terminal", "0"), new JProperty("order", new JArray( new JObject( new JProperty("orderId", txtSessionId.Text), new JProperty("description", "test"), new JProperty("currency", "EUR"), new JProperty("totalAmount", txtPayAmount.Text) ) ) ), new JProperty("customer", new JArray( new JObject( new JProperty("name", "Test Name"), new JProperty("phone", "00000000000"), new JProperty("email", "test@test.com") ) ) ) );
调整说明
- 闭合
order数组内部的JObject、JArray,结束order属性的定义 - 将原本嵌套在
order内部的customer属性移到顶层JObject的参数列表中,和channel、terminal、order平级
调整后生成的JSON结构就会和你的预期完全一致。
内容的提问来源于stack exchange,提问作者user1735489
相关产品推荐
相关产品推荐

