如何使大的JSON字符串在C#代码中易于阅读

问题描述 投票:-1回答:1

我在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

c# json .net-4.0
1个回答
-1
投票

使用Newtonsoft JSON C#.NET库https://www.newtonsoft.com/json,您可以轻松地将对象(类)序列化为C#.NET中的JSON。第一步将是构造表示要转换为JSON的对象的类。然后,序列化那些对象。可以在此处找到如何执行此操作的示例:https://www.newtonsoft.com/json/help/html/SerializingJSON.htm

© www.soinside.com 2019 - 2024. All rights reserved.