Exemplos de importação de arquivo JSON
Esses exemplos demonstram como importar vários tipos de dados JSON e o caminho necessário para cada linha. Os arquivos JSON importados devem seguir estas diretrizes.
Para obter instruções passo a passo sobre como criar uma fonte de dados de tipo de arquivo, consulte, Crie uma fonte de dados de tipo de arquivo.
- Para JSON matrizes, o caminho de cada linha deve especificar o elemento raiz da matriz duas vezes, como
/incidentes/incidentes. - JSON os arquivos devem seguir RFC-4627 . Por exemplo, uma única vírgula deve separar um valor do nome a seguir. Os nomes em um objeto devem ser exclusivos.
- Predicados como
elemento,[índice]outexto (), assim como eixos, como secundários, irmãos ou ancestrais, não são compatíveis.
Matriz simples
- Caminho para cada linha:
/incidentes/incidentes - Resultado: 2 registros
/incidentes duas vezes. Isso é necessário ao importar uma matriz.{
"source":"HI",
"incidents":[
{
"number":"INC0000001",
"short_description":"Can't read email"
},
{
"number":"INC0000002",
"short_description":"Error loading XML file"
}
]
}
Matriz no segundo nível
- Caminho para cada linha:
/problems/data/data - Resultado: 3 registros
/data duas vezes.{
"problems":{
"id":"0",
"data":[
{
"number":"PRBTEST001",
"short_description":"testsd1"
},
{
"number":"PRBTEST002",
"short_description":"testsd2"
},
{
"number":"PRBTEST003",
"short_description":"testsd3"
}
]
}
}
Matriz aninhada
- Caminho para cada linha:
/problems/problems/data/data - Resultado: 3 registros
/problems e. /data .{
"problems": [
{
"id":0,
"data":[
{
"number":"PRBTEST001",
"short_description":"testsd1"
},
{
"number":"PRBTEST002",
"short_description":"testsd2"
},
{
"number":"PRBTEST003",
"short_description":"testsd3"
}
]
}
]
}
Matrizes secundárias de suporte (aninhadas)
Por padrão, a importação não é compatível com matrizes secundárias (aninhadas). Você pode habilitar o suporte desmarcando Descartar matrizes Caixa de seleção na exibição Fonte de dados. A tabela a seguir descreve diferentes comportamentos ao habilitar e desabilitar o suporte a matrizes secundárias.
{
"response":{
"docs":[
{
"id":"id_val",
"childrenArray":[1,2,3],
"anotherArray":[{"key1":"value1"}, {"key1": "value2"}],
"elementWithArray":{"childrenArray":[1,2,3]}
}
]
}
}
| Caminho | Descartar matrizes habilitadas | Descartar matrizes desabilitadas |
|---|---|---|
| /response/docs/docs | Cria um registro com as seguintes colunas e valores:
|
Cria um registro com as seguintes colunas e valores:
|
| /Response/docs/docs/anotherArray/anotherArray | Cria dois registros, cada um com uma coluna: key1. | Cria dois registros, cada um com uma coluna: key1. |
| /Response/docs/docs/childrenArray/childrenArray | Não funciona e retorna um O caminho sempre deve se referir a objetos JSON erro porque os valores na matriz não estão em uma estrutura de chave-valor. | Não funciona e retorna um O caminho sempre deve se referir a objetos JSON erro porque os valores na matriz não estão em uma estrutura de chave-valor. |
Matriz órfã
- Caminho para cada linha:
// - Resultado: 2 registros
[
{
"number":"PRBTEST001",
"short_description":"testsd1"
},
{
"number":"PRBTEST002",
"short_description":"testsd2"
}
]
Vários elementos em vez de uma matriz
- Caminho para cada linha:
/problems/problem - Resultado: 3 registros
Importante:
Este formato não é recomendado. Os arquivos JSON devem seguir o RFC-4627, que afirma que os nomes em um objeto devem ser exclusivos. Em vez disso, use matrizes JSON.
{
"problems":{
"title":"2 problems",
"problem":{
"number":"PRBTEST001",
"short_description":"testsd1"
},
"problem":{
"number":"PRBTEST002",
"short_description":"testsd2"
}
},
"problems":{
"title":"1 problem",
"problem":{
"number":"PRBTEST005",
"short_description":"testsd5"
}
}
}