[R-br] Ler arquivo JSON com diversos outros JSONs dentro dele

Yury Duarte yurynepomuceno em gmail.com
Terça Junho 26 10:00:29 -03 2018


Bom dia, Rodrigo!

Obrigado pelas dicas!
Vamos aguardar, acredito que logo uma solução irá aparecer. Caso eu
encontre uma saída, postarei aqui as linhas de comando que usei.
Se alguém quiser testar na integra o arquivo JSON que estou tentando abrir,
segue o link do Google drive para download:
https://drive.google.com/open?id=14TzdtllxDULkG22QVMVNaDWnwLaBPkBj

Mais uma vez, agradeço pela atenção de todos!

Att

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP

Em 26 de junho de 2018 09:30, Rodrigo Ângelo <drigo.angelo em gmail.com>
escreveu:

> 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/9ef9ef8f/attachment.html>


Mais detalhes sobre a lista de discussão R-br