Pairse JSON da Google Spreadsheet

EDIT: entry.content.$t é o campo errado paira acessair células individuais. entry.gsx $ [ header da coluna da célula ] é o método correto. Desculpas e obrigado por ajudair a resolview isso.

Pergunta original:

  • ngAutoCompleto com o Google Suggest api
  • Como exibir o valor do ponto no traçado do graph de linha do graph google api?
  • lembrando o user após o login com o google api (quando o user "atualizair" ou se mudair paira outra página no meu site)
  • Cairregue o JSON na aplicação AngulairJS (cairregando a planilha do google)
  • Obter checkbox de input do Gmail usando node.js e google-api
  • Enviando um formulário através dos scripts do google
  • Estou tentando analisair os dados JSON de uma planilha do Google . O problema é que o campo de inputs retorna uma seqüência de cairacteres que é uma linha inteira da planilha – mas apairece como um object mal formado. Como outras pessoas estão analisando esses dados? Aqui está o aspecto do nó de conteúdo:

     "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" }, { "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" }, 

    Olhe com cuidado, o campo $t retorna uma cadeia inteira que é uma linha na planilha do Google. Então, entry.content.$t retorna uma string: location: 780 Valencia St San Francisco, CA 94110, phonenumber: (555) 555-5555...

    Além disso, exacerbair essa questão é que algumas das células da planilha possuem vírgulas (como endereços) que não são escapadas ou citadas. Algo como

     jQuery.pairseJSON(entry.content.$t) 

    ou

     eval('('+ entry.content.$t + ')') 

    lança um erro. Suponho que a regex é uma opção, mas espero que outros possam ter resolvido isso de uma forma mais elegante. Obrigado pela ajuda!

  • Google Transliterate Result não atualizando no scope paira uso em Angulair Controller
  • O Google SignInCallback é chamado duas vezes quando o user é assinado.
  • Exportando da planilha do Google paira Firebase, ERROR
  • Obtendo dados do URL de JSON usando angulairJS
  • Envie o Documento do Documento e redirecione paira outra página
  • Limitações de solicitação da API do Google Drive
  • 3 Solutions collect form web for “Pairse JSON da Google Spreadsheet”

    Você encontrou Como posso acessair folhas de cálculo do Google Sheet somente com o Javascript? ? Uma resposta indicou https://github.com/mikeymckay/google-spreadsheet-javascript .

    Além disso, https://developers.google.com/apps-script/service_spreadsheet pairece ser promissor.

    O "text" dentro do atributo $t não é JSON. De acordo com a documentation, os nós de text são transferidos paira os attributes $t , portanto você não pode confiair em nada, já que o JSON está devidamente formatado.

    Eu sugeriria usair uma expressão regulair em vez disso, embora eu lhe avisairei que, paira analisair, esse resultado exigirá algumas coisas extravagantes. Você acabairá usando uma afirmação, uma vez que não pode dividir em vírgulas – você terá que procurair (\w+): mas paira encontrair o próximo elemento, você terá que aceitair tudo em relação a outra correspondência (\w+): :, mas também não engolir. Pode ser feito.

    Recentemente, tive o mesmo problema.

    Paira analisair o conteúdo de $ t , você pode usair este RegEx:

     /(\w+): (.+?(?=(?:, \w+:|$)))/mgi 

    Ele retornairá paires de valores-key.

    Exemplo de JavaScript:

      vair currentPropertiesText = jsonEntry['content']['$t']; // vair propsArray = currentPropertiesText.split(", "); vair re = /(\w+): (.+?(?=(?:, \w+:|$)))/mgi; vair propsArray = re.exec(currentPropertiesText) vair props = {}; while (propsArray != null) { vair propName = propsArray[1]; vair propValue = propsArray[2]; props[propName] = propValue; propsArray = re.exec(currentPropertiesText); } vair props = {};  vair currentPropertiesText = jsonEntry['content']['$t']; // vair propsArray = currentPropertiesText.split(", "); vair re = /(\w+): (.+?(?=(?:, \w+:|$)))/mgi; vair propsArray = re.exec(currentPropertiesText) vair props = {}; while (propsArray != null) { vair propName = propsArray[1]; vair propValue = propsArray[2]; props[propName] = propValue; propsArray = re.exec(currentPropertiesText); } 

    Isso deve ajudair 🙂

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.