JSON字符串到字符串数组

问题描述:

我有谷歌Places API的这在一定程度看起来像这样返回JSON StringJSON字符串到字符串数组

{ "html_attributions" : [], "next_page_token" : "CvQB7AAAAKInrUGS9TZSaskfjkajsfY2CL5gnlli8FaXClYCOfnt6CpDZtSJanUx0OtgZPdXKw9ILf9fqNW1T29gc3mXRZPBKhujEN20qrtYfdfhPubbEHYv6UpKjasf;laskfl;kaTHq1O81Lpr2AwwxlrAX92bKxyky2kXzsVnuUJGO63R58SpEoVOxqMUBvVpxiYljeoRS93VfTib7iaNvwT3JmDeZJMt16b7ID2RUc-OmfjDmJZbikwaaBR_DKlHLjm1FmCvSoUwPQrKp5Lgm0S_pCI6OCnnFnWckYVRIQrkJ4xOC6eVLWVEG16MZmoRoUyWNAKcK6-b6PdLMQQoEY04MSG_o", "results" : [ { "geometry" : { "location" : { "lat" : 94.8793165, "lng" : 17.1700843 }, "viewport" : { "northeast" : { "lat" : 94.8848793, "lng" : 17.1755888 }, "southwest" : { "lat" : 94.8734316, "lng" : 77.1650671 } } }, "icon" 

我想这个JSON字符串理想转化为更加实用型像string[]。 我试图

var serializer = new JavaScriptSerializer(); 
string[] arr = serializer.Deserialize(result,string[]); 

但我aunable获得的第二个参数Deserialize权。 请帮我解决这个问题。

+0

而不是'string []'尝试'typeof(string [])'作为第二个参数。 –

编辑:

您的JSON格式错误。如果您使用演示响应进行测试,则其格式不正确。

下面是正确的格式

{ 
    "html_attributions": [], 
    "next_page_token": "CpQCAgEAAFxg8o-eU7_uKn7Yqjana-HQIx1hr5BrT4zBaEko29ANsXtp9mrqN0yrKWhf-y2PUpHRLQb1GT-mtxNcXou8TwkXhi1Jbk-ReY7oulyuvKSQrw1lgJElggGlo0d6indiH1U-tDwquw4tU_UXoQ_sj8OBo8XBUuWjuuFShqmLMP-0W59Vr6CaXdLrF8M3wFR4dUUhSf5UC4QCLaOMVP92lyh0OdtF_m_9Dt7lz-Wniod9zDrHeDsz_by570K3jL1VuDKTl_U1cJ0mzz_zDHGfOUf7VU1kVIs1WnM9SGvnm8YZURLTtMLMWx8-doGUE56Af_VfKjGDYW361OOIj9GmkyCFtaoCmTMIr5kgyeUSnB-IEhDlzujVrV6O9Mt7N4DagR6RGhT3g1viYLS4kO5YindU6dm3GIof1Q", 
    "results": [ 
     { 
      "geometry": { 
       "location": { 
        "lat": -33.867217, 
        "lng": 151.195939 
       } 
      }, 
      "icon": "http://maps.gstatic.com/mapfiles/place_api/icons/cafe-71.png", 
      "id": "7eaf747a3f6dc078868cd65efc8d3bc62fff77d7", 
      "name": "Biaggio Cafe - Pyrmont", 
      "opening_hours": { 
       "open_now": true 
      }, 
      "photos": [ 
       { 
        "height": 600, 
        "html_attributions": [], 
        "photo_reference": "CnRnAAAAmWmj0BqA0Jorm1_vjAvx1n6c7ZNBxyY-U9x99-oNyOxvMjDlo2npJzyIq7c3EK1YyoNXdMFDcRPzwLJtBzXAwCUFDGo_RtLRGBPJTA2CoerPdC5yvT2SjfDwH4bFf5MrznB0_YWa4Y2Qo7ABtAxgeBIQv46sGBwVNJQDI36Wd3PFYBoUTlVXa0wn-zRITjGp0zLEBh8oIBE", 
        "width": 900 
       } 
      ], 
      "place_id": "ChIJIfBAsjeuEmsRdgu9Pl1Ps48", 
      "scope": "GOOGLE", 
      "price_level": 1, 
      "rating": 3.4, 
      "reference": "CoQBeAAAAGu0wNJjuZ40DMrRe3mpn7fhlfIK1mf_ce5hgkhfM79u-lqy0G2mnmcueTq2JGWu9wsgS1ctZDHTY_pcqFFJyQNV2P-kdhoRIeYRHeDfbWtIwr3RgFf2zzFBXHgNjSq-PSzX_OU6OT2_3dzdhhpV-bPezomtrarW4DsGl9uh773yEhDJT6R3V8Fyvl_xeE761DTCGhT1jJ3floFI5_c-bHgGLVwH1g-cbQ", 
      "types": [ 
       "cafe", 
       "bar", 
       "restaurant", 
       "food", 
       "establishment" 
      ], 
      "vicinity": "48 Pirrama Rd, Pyrmont" 
     }, 
     { 
      "geometry": { 
       "location": { 
        "lat": -33.866786, 
        "lng": 151.195633 
       } 
      }, 
      "icon": "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png", 
      "id": "3ef986cd56bb3408bc1cf394f3dad9657c1d30f6", 
      "name": "Doltone House", 
      "photos": [ 
       { 
        "height": 1260, 
        "html_attributions": [ 
         "From a Google User" 
        ], 
        "photo_reference": "CnRwAAAAeM-aLqAm573T44qnNe8bGMkr_BOh1MOVQaA9CCggqtTwuGD1rjsviMyueX_G4-mabgH41Vpr8L27sh-VfZZ8TNCI4FyBiGk0P4fPxjb5Z1LrBZScYzM1glRxR-YjeHd2PWVEqB9cKZB349QqQveJLRIQYKq2PNlOM0toJocR5b_oYRoUYIipdBjMfdUyJN4MZUmhCsTMQwg", 
        "width": 1890 
       } 
      ], 
      "place_id": "ChIJ5xQ7szeuEmsRs6Kj7YFZE9k", 
      "scope": "GOOGLE", 
      "reference": "CnRvAAAA22k1PAGyDxAgHZk6ErHh_h_mLUK_8XNFLvixPJHXRbCzg-gw1ZxdqUwA_8EseDuEZKolBs82orIQH4m6-afDZV9VcpggokHD9x7HdMi9TnJDmGb9Bdh8f-Od4DK0fASNBL7Me3CsAWkUMWhlNQNYExIQ05W7VbxDTQe2Kh9TiL840hoUZfiO0q2HgDHSUyRdvTQx5Rs2SBU", 
      "types": [ 
       "food", 
       "establishment" 
      ], 
      "vicinity": "48 Pirrama Rd, Pyrmont" 
     }, 
     { 
      "aspects": [ 
       { 
        "rating": 23, 
        "type": "overall" 
       } 
      ], 
      "status": "OK" 
     } 
    ] 
}  

什么我建议,是利用网站像json2csharp根据需要从响应创建C#类,以及操纵数据的修改版本。

+0

这将返回一个空数组。 – Maven

+0

请更新OP中的JSON字符串。看起来并非全部都包括在内。此外,这似乎不是一个真正的字符串数组。您可能需要将其反序列化为一个对象,然后从中获取所需的数据。这个JSON似乎有多个级别,因此不会反序列化为一个简单的字符串[] – Cory

+0

,您可以查看返回的Google Pleaces API'JSON' [here](https://developers.google.com/places/documentation/search #PlaceSearchPaging) – Maven