0

https://opendata.miamidade.gov/Corrections/Jail-Bookings-May-29-2015-to-current/7nhc-4yqn

如果有人能帮我解决这个问题,我不会:我在解析/反序列化 Location 对象内部的地址信息时遇到问题。

这是我正在使用的代码片段:

var results = dataset.Query<MiamiDade_JailLog>(soql);

public class MiamiDade_JailLog
{
    public string chargecode3 { get; set; }
    public string charge2 { get; set; }
    public string bookdate { get; set; }
    public string charge3 { get; set; }
    public string chargecode1 { get; set; }
    public string chargecode2 { get; set; }
    public string charge1 { get; set; }
    public string dob { get; set; }
    public Location1 location_1 { get; set; }
    public string defendant { get; set; }
}

public class Location1
{
    public bool needs_recoding { get; set; }
    public string longitude { get; set; }
    public string latitude { get; set; }
    public HumanAddress human_address { get; set; }
}

public class HumanAddress
{
    public string address { get; set; }
    public string city { get; set; }
    public string state { get; set; }
    public string zip { get; set; }
}

这是错误消息:

将值转换 "{"address":"HOMELESS","city":"MIAMI","state":"FL","zip":""}"为类型“JailLog_WFA.HumanAddress”时出错。路径“location_1.human_address”,第 1 行,位置 424。

4

1 回答 1

0

这是我从 Socrata 得到的回复:如果您查看此 json 回复,https ://opendata.miamidade.gov/resource/7nhc-4yqn.json 您会看到对于location_1列,我们提供了一个对象,{} 然后在那里你会看到human_address我们提供的是字符串""而不是对象。对于 JavaScript,它只是JSON.parse("{\"address\":\"17725 NW 8TH PL\",\"city\":\"MIAMI GARDENS\",\"state\":\"FL\",\"zip\":\"33169\"}"); 来自您发送的代码,看起来您将 HumanAddress 视为一个对象,而不是一个需要解析为对象的字符串。如果您进行此更改,它应该可以工作。

...这是我的回应:你给了我很好的信息。但是我已经做了一个解决方法来解析对象。我刚刚从 human_address 对象中删除了多余的引号,并且能够一次解析所有内容。

于 2015-06-12T15:39:36.270 回答