EDYTOWANIE:entry.content.$t
jest nieprawidłowym polem dostępu do poszczególnych komórek. entry.gsx $ [nagłówek kolumny komórki] jest prawidłową metodą. Przepraszam i dziękuję za pomoc w rozwiązaniu tego problemu.Analiza JSON z arkusza kalkulacyjnego Google
Oryginalne pytanie:
Próbuję analizować JSON data from a Google Spreadsheet. Problem polega na tym, że pole wpisów zwraca ciąg znaków, który jest całym wierszem arkusza kalkulacyjnego, ale pojawia się jako obiekt zniekształcony. W jaki sposób inne osoby analizują te dane? Oto co węzeł zawartość wygląda następująco:
"content":
{
"type" :"text",
"$t" :"location: 780 Valencia St San Francisco, CA 94110,
phonenumber: (555) 555-5555,
website: http://www.780cafe.com,
latitude: 37.760505,
longitude: -122.421447"
},
rozejrzysz, pole $t
zwraca cały ciąg, który jest wiersz w arkuszu kalkulacyjnym Google. Więc entry.content.$t
zwraca łańcuch: location: 780 Valencia St San Francisco, CA 94110, phonenumber: (555) 555-5555...
Dalsze zaostrza ten problem jest to, że niektóre komórki w arkuszu kalkulacyjnym mają przecinki (takich jak adresy), które nie są notowane lub uciekli. Coś jak
jQuery.parseJSON(entry.content.$t)
lub
eval('('+ entry.content.$t + ')')
zgłasza błąd. Przypuszczam, że regex jest opcją, ale mam nadzieję, że inni mogli rozwiązać to w bardziej elegancki sposób. Dzięki za pomoc!
Co jest wniosek użyć, aby uzyskać dane JSON? Czy używasz komórek typu lub listy typów? (patrz http://code.google.com/apis/gdata/samples/spreadsheet_sample.html) – HBP
Patrząc na dalsze przykłady, myślę, że robisz coś złego - albo w jaki sposób żądasz JSON, czy w samych arkuszach kalkulacyjnych. Z tego co widzę, nie powinieneś otrzymywać całego wiersza jako pola tekstowego; powinieneś uzyskać kombinację obiektów i tablic w swoich danych, aby oznaczać wiersze i kolumny. –
Doh! Rozgryzłem to. Masz to. Wyodrębniam zły węzeł. Najwyraźniej zwraca poszczególne obiekty dla każdej komórki. Mój błąd. Wielkie dzięki za złapanie tego. – jrue