如何创建JObject的JArray



我正在尝试用JObject的数组填充对象details。这些信息在作为CCD_ 4的CCD_。

通过以下代码,我得到以下错误:

Newtonsoft.Json.JsonReaderException : After parsing a value an unexpected character was encountered

JArray addresses = new JArray();
foreach (AddressModel address in contactAddresses)
    {
        addresses.Add(JObject.Parse(
            @"{""street"":""" + address.Street +
            @"""city"":""" + address.City +
            @"""postalCode"":""" + address.PostalCode +
        @"""}"));
    }
    details.Add(new JProperty("addresses", addresses));

我做错了什么?

您缺少每个数据字段周围的右引号,以及它们之间的逗号。你需要这样的东西;

addresses.Add(JObject.Parse(
            @"{""street"":""" + address.Street + "", " +
            @"""city"":""" + address.City + "", " + 
            @"""postalCode"":""" + address.PostalCode + 
        @"""}"));

您的最终目标似乎是最终得到一些表示地址列表的JSON。我知道你提到了JObject和JArray,但你认为实现很难看。这里有一个替代方案。

string json = JsonConvert.SerializeObject(contactAddresses);

生成的json应该是这样的(一旦格式化):

[
    {"Street": "123 Mockingbird Lane", "City": "New York City", "PostalCode": "11111"},
    {"Street": "1600 Penn Ave", "City": "Washington DC", "PostalCode": "22222"},
    {"Street": "2400 University Dr", "City": "Fort Worth", "PostalCode": "33333"},
]

如果您希望输出以不同的方式显示,则可以将属性应用于AddressModel类的属性。

相关内容

  • 没有找到相关文章

最新更新