我在C#中不是很好,必须将一个讨厌的JSON字符串发布到API端点。我已经在PHP中使用多维数组完成了此任务,看起来很棒,易于阅读和理解。我现在必须将其迁移到C#,除了做一个巨大的"
长转义字符串之外,我还很难做。
文档,https://developer.imis.com/reference/person#postperson
我只需要实际张贴姓名和地址信息以及一些硬编码位。这是我的PHP数组的外观]
array (
'json' => [
'$type' => 'Asi.Soa.Membership.DataContracts.PersonData, Asi.Soa.Membership.Contracts',
'PersonName' => [
'$type' => 'Asi.Soa.Membership.DataContracts.PersonNameData, Asi.Soa.Membership.Contracts',
'FirstName' => $firstName,
'MiddleName' => $middleName,
'LastName' => $lastName,
'InformalName' => $nickname,
],
'AdditionalAttributes' => [
[
'$type' => 'Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Soa.Core.Contracts',
'Name' => 'CustomerTypeCode',
'Value' => 'CHI'
],
],
'Addresses' => [
[
'$type' => 'Asi.Soa.Membership.DataContracts.FullAddressData, Asi.Soa.Membership.Contracts',
'Address' => [
'$type' => 'Asi.Soa.Membership.DataContracts.AddressData, Asi.Soa.Membership.Contracts',
'AddressLines' => [
$childVillage,
],
'CityName' => $childTown(),
'CountrySubEntityName' => $province,
'CountryCode' => $country,
],
'AddressPurpose' => 'Main Address',
],
],
],
)
如何在C#中执行类似的操作?它可以是数组,列表,无关紧要的对象,只要它是人类可读的并且我可以将其转换为JSON字符串即可。
类似的东西无法维护,"{\"json\":{\"$type\":\"Asi.Soa.Membership.DataContracts.PersonData, Asi.Soa.Membership.Contracts\",\"PersonName\":{\"$type\":\"Asi.Soa.Membership.DataContracts.PersonNameData, Asi.Soa.Membership.Contracts\",\"FirstName\":\"
...
我也仅限于.NET Framework 4.0
使用Newtonsoft JSON C#.NET库https://www.newtonsoft.com/json,您可以轻松地将对象(类)序列化为C#.NET中的JSON。第一步将是构造表示要转换为JSON的对象的类。然后,序列化那些对象。可以在此处找到如何执行此操作的示例:https://www.newtonsoft.com/json/help/html/SerializingJSON.htm