C#将XML转换为JSON时强制使用整数
我试图将XML转换为JSON,以便生成对API的HTTP POST请求。我得到一个错误,因为其中一个字段是整数而不是字符串。从我所读到的内容来看,将“json:Integer=“true”添加到节点将导致它变成int,但这似乎对我不起作用。下面是xml和生成的json。数组正在工作,但整数不工作C#将XML转换为JSON时强制使用整数,c#,json,xml,C#,Json,Xml,我试图将XML转换为JSON,以便生成对API的HTTP POST请求。我得到一个错误,因为其中一个字段是整数而不是字符串。从我所读到的内容来看,将“json:Integer=“true”添加到节点将导致它变成int,但这似乎对我不起作用。下面是xml和生成的json。数组正在工作,但整数不工作 <shipments json:Array="true" xmlns:json="http://james.newtonking.com/projects/json"> <sh
<shipments json:Array="true" xmlns:json="http://james.newtonking.com/projects/json">
<shipment_tracking_number />
<response_shipment_date>2016-10-18T01:00:00.0000000-04:00</response_shipment_date>
<response_shipment_method>UPS Ground</response_shipment_method>
<expected_delivery_date>2016-10-18T01:00:00.0000000-04:00</expected_delivery_date>
<ship_from_zip_code>12345</ship_from_zip_code>
<carrier_pick_up_date>2016-10-18T01:00:00.0000000-04:00</carrier_pick_up_date>
<carrier>UPS</carrier>
<shipment_items json:Array="true">
<shipment_item_id>FF12345K</shipment_item_id>
<alt_shipment_item_id>1234567890</alt_shipment_item_id>
<merchant_sku>B00xxxx</merchant_sku>
<response_shipment_sku_quantity json:Integer="true">1</response_shipment_sku_quantity>
</shipment_items>
</shipments>
我需要
“响应装运sku数量”:“1”
显示为“响应装运sku数量”:1
,但它似乎不起作用。我可以修改XML或执行转换的代码。只要能做到这一点,我不介意 您错误地定义了属性。应该是这样的
<response_shipment_sku_quantity json:Type='Integer'>1</response_shipment_sku_quantity>
1
编辑:
查找方法private-node
和string-dataType=GetDataType(node)他们提出了这个定义
另一个选项是使用适当的属性类型将反序列化xml
到类
,然后序列化到Json我尝试将其放在xml文件的节点中运行,但似乎没有任何影响。很遗憾,我无法在文件本身中添加数组代码。我已经编写了代码来检查是否只有1个节点具有相同的名称,如果是,它将添加array属性。这会以某种方式覆盖它吗?上面的示例是我从doc.innerxml中获得的xml,因此这是在我的代码完成其功能之后business@DanHastings您可以查看我的编辑并查看源代码。是否使用中描述的XmlNodeConverter
的“分叉”版本?
<response_shipment_sku_quantity json:Type='Integer'>1</response_shipment_sku_quantity>