SmartyStreets JSON LiveAddress APIを使用しようとしていますが、いくつかの問題があります。私はJSONにあまり慣れていないことを認めます。とにかく、いくつかの方法を試しましたが、通常は「JSON配列をタイプメタデータに逆シリアル化できません」というエラーが発生します。私はクラスを作成するjsontocsharp Webアプリケーションを使用SmartyStreets JSONをJSON.Netで消費しようとしています... "JSON配列をタイプコンポーネントに逆シリアル化できません"
[{"input_index":0,"candidate_index":0,"delivery_line_1":"1600 Amphitheatre Pkwy","last_line":"Mountain View CA 94043-1351","delivery_point_barcode":"940431351000","components":{"primary_number":"1600","street_name":"Amphitheatre","street_suffix":"Pkwy","city_name":"Mountain View","state_abbreviation":"CA","zipcode":"94043","plus4_code":"1351","delivery_point":"00","delivery_point_check_digit":"0"},"metadata":{"record_type":"S","county_fips":"06085","county_name":"Santa Clara","carrier_route":"C058","congressional_district":"14"},"analysis":{"dpv_match_code":"Y","dpv_footnotes":"AABB","dpv_cmra":"N","dpv_vacant":"N","ews_match":false,"footnotes":"N#"}}]
:ここ
はJSON文字列です。
using (var webClient = new WebClient())
{
var json = webClient.DownloadString("url");
var md = JsonConvert.DeserializeObject<Metadata>(json);
litTest.Text = md.county_name;
}
その後、私は上記のエラーがスローされます。ここでは
は、私が使用しているコードです。
ご協力いただければ幸いです。ここで
dynamic jsonObj = JsonUtils.JsonObject.GetDynamicJsonObject(json);
foreach(var item in jsonObj)
{
Console.WriteLine(item.delivery_line_1 + ", " +
item.last_line + ", " +
item.metadata.county_name + ", " +
item.components.street_name + ", " +
item.components.city_name );
}
がDynamic Json Objectのソースです: は私が のようなこれらのケースでdynamic
オブジェクト(醜いクラスを作成する必要がありません)を使用することを好む、 アンドリュー
これは素晴らしいことです。私は間違いなくダイナミックなクラスを詳しく見なければなりません。ダイナミックJsonオブジェクトとその例を指してくれてありがとう...本当に私を助けてくれました! – ajtatum
ようこそ。 –
@ L.Bどのようにフォーマットしましたか? –