[R-br] Ler arquivo JSON com diversos outros JSONs dentro dele
Rodrigo Ângelo
drigo.angelo em gmail.com
Terça Junho 26 09:30:08 -03 2018
Yury,
Então eu não sei como faz no R. Talvez outra pessoa da lista possa te
ajudar.
Sds,
Rodrigo
On Mon, Jun 25, 2018 at 5:49 PM Yury Duarte <yurynepomuceno em gmail.com>
wrote:
> Rodrigo,
>
> segundo os testes que fiz, num arquivo com número reduzido de JSONs
> (testei com 4) dentro de um outro JSON, a solução dos colchetes funcionou e
> me retornou uma lista com 4 campos, onde cada campo continha as informações
> de todos os JSONs.
> Entretanto, quando apliquei essa mesma lógica para um dos meus arquivos na
> integra (cada arquivo tem, em média, 200 mil linhas...isso deve dar uns 10
> mil JSONs diferentes), o comando me retorna o mesmo erro de antes:
> Error in parse_con(txt, bigint_as_char) :
> parse error: after array element, I expect ',' or ']'
> uantity": 5 } } }, { "_index": "c
> (right here) ------^
>
> Será que existe alguma solução praticável no R para trabalhar com um
> arquivo dessa magnitude?
>
> Mais uma vez, agradeço a atenção de todos!
>
> Att
>
> Yury Duarte
> Engenheiro Agrônomo - ESALQ/USP
>
> Em 25 de junho de 2018 17:21, Rodrigo Ângelo <drigo.angelo em gmail.com>
> escreveu:
>
>> Corrigindo: Yury.
>>
>> Escrevi seu nome errado. Me desculpe.
>>
>> On Mon, Jun 25, 2018 at 5:19 PM Rodrigo Ângelo <drigo.angelo em gmail.com>
>> wrote:
>>
>>> Oi Yuri,
>>>
>>> Tem algum outro sistema que gera esse arquivo para você, ou você tem
>>> controle de como ele é gerado?
>>>
>>> Não sei se é a solução que você procura, mas talvez colocar [ no início
>>> do arquivo e ] no final pode fazer a biblioteca jsonlite reconhecer como
>>> uma lista de objetos.
>>>
>>> Sds,
>>> Rodrigo
>>>
>>> On Mon, Jun 25, 2018 at 2:44 PM Yury Duarte via R-br <
>>> r-br em listas.c3sl.ufpr.br> wrote:
>>>
>>>> Boa tarde colegas listeiros, como vão?
>>>>
>>>> Ultimamente venho encontrando certa dificuldade para trabalhar com
>>>> arquivos JSON que contém outros JSON dentro deles.
>>>> Sempre que precisei trabalhar com esse tipo de arquivo utilizei a
>>>> expressão:
>>>>
>>>> library(jsonlite)
>>>> raiz= ('C:\\Users\\Desktop\\')
>>>> a = fromJSON(paste0(raiz,'document.json'))
>>>>
>>>> Dessa forma eu obtenho uma lista e consigo selecionar os valores dos
>>>> campos que quero.
>>>> Mas quando tento aplicar a mesma lógica para um JSON que contém
>>>> diversos outros JSONs, o código quebra e retorna:
>>>> Error in parse_con(txt, bigint_as_char) : parse error: trailing garbage
>>>> 99809265137 } }, { "_index": "ch
>>>> (right here) ------^
>>>>
>>>> Meu interesse é acessar apenas as informações de alguns campos desses
>>>> JSONs e construir uma tabela, onde nas colunas eu terei os campos que
>>>> desejo e nas linhas eu terei os valores de cada um dos JSONs.
>>>> A seguir, estou colando no corpo da mensagem um pedaço de um desses
>>>> arquivos que estou tentando lidar no R.
>>>>
>>>> Desde já, agradeço pela ajuda e atenção.
>>>>
>>>> Att
>>>>
>>>>
>>>> {
>>>> "_index": "busca",
>>>> "_type": "data_point",
>>>> "_id":
>>>> "interpolation:699646|mgper-0-20|2018-06-22|5x21sxq1km3b",
>>>> "_score": 1,
>>>> "_source": {
>>>> "name": "Mg% 0-20",
>>>> "data_type": "interpolation",
>>>> "attribute": "Mg%",
>>>> "farm_id": 22706,
>>>> "depth": "0-20",
>>>> "location": [
>>>> -48.91500982855756,
>>>> -22.293821593345108
>>>> ],
>>>> "inceres_id": 699646,
>>>> "date_created": "2018-06-22T14:06:13.587631-03:00",
>>>> "slug": "mgper-0-20",
>>>> "quantity": 10.565964698791504
>>>> }
>>>> },
>>>> {
>>>> "_index": "busca",
>>>> "_type": "data_point",
>>>> "_id": "interpolation:701809|ph-20-40|2018-06-22|5x21uc94cc55",
>>>> "_score": 1,
>>>> "_source": {
>>>> "name": "ph 20-40",
>>>> "data_type": "interpolation",
>>>> "attribute": "ph",
>>>> "farm_id": 22706,
>>>> "depth": "20-40",
>>>> "location": [
>>>> -48.90241501215151,
>>>> -22.28980716917012
>>>> ],
>>>> "inceres_id": 701809,
>>>> "date_created": "2018-06-22T14:06:35.183784-03:00",
>>>> "slug": "ph-20-40",
>>>> "quantity": 4.381259918212891
>>>> }
>>>> },
>>>> {
>>>> "_index": "busca",
>>>> "_type": "data_point",
>>>> "_id":
>>>> "interpolation:699646|mgper-0-20|2018-06-22|5x21sz1rcjp5",
>>>> "_score": 1,
>>>> "_source": {
>>>> "name": "Mg% 0-20",
>>>> "data_type": "interpolation",
>>>> "attribute": "Mg%",
>>>> "farm_id": 22706,
>>>> "depth": "0-20",
>>>> "location": [
>>>> -48.915268161911925,
>>>> -22.289490533842073
>>>> ],
>>>> "inceres_id": 699646,
>>>> "date_created": "2018-06-22T14:06:13.587631-03:00",
>>>> "slug": "mgper-0-20",
>>>> "quantity": 8.669662475585938
>>>> }
>>>> },
>>>> {
>>>> "_index": "busca",
>>>> "_type": "data_point",
>>>> "_id": "interpolation:701809|ph-20-40|2018-06-22|5x21uc3097d7",
>>>> "_score": 1,
>>>> "_source": {
>>>> "name": "ph 20-40",
>>>> "data_type": "interpolation",
>>>> "attribute": "ph",
>>>> "farm_id": 22706,
>>>> "depth": "20-40",
>>>> "location": [
>>>> -48.904161243141765,
>>>> -22.289829735373146
>>>> ],
>>>> "inceres_id": 701809,
>>>> "date_created": "2018-06-22T14:06:35.183784-03:00",
>>>> "slug": "ph-20-40",
>>>> "quantity": 4.352087497711182
>>>> }
>>>> }
>>>>
>>>>
>>>> Yury Duarte
>>>> Engenheiro Agrônomo - ESALQ/USP
>>>> _______________________________________________
>>>> R-br mailing list
>>>> R-br em listas.c3sl.ufpr.br
>>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>>> código mínimo reproduzível.
>>>
>>>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20180626/e47fa0ea/attachment.html>
Mais detalhes sobre a lista de discussão R-br