ошибка синтаксического анализа: неверный числовой литерал в EOF в строке 1, столбец 10897 - PullRequest
0 голосов
/ 21 октября 2019

Я хочу обработать данные в следующем формате с помощью jq:

{
  "data": [
    {
      "valueX": 11111,
      "valueY": 11111,
    },
    {
      "valueX": 2222,
      "valueY": 2222,
    }
    ...,
    {
      "valueX": 2222,
      "valueY": 2222,
    }
    ],
  "meaningless_data": "x"
}

Я хочу просмотреть данные в разделе "data", который содержит 100 наборов данных. Я написал следующее, я сохранил весь контент в ${input} и хотел распечатать valueX s. Я могу распечатать часть эха, но все еще вижу много parse error: Invalid numeric literal at EOF. Как я могу это исправить?

for row in $(echo "${input}" | jq -r '.[] | @base64'); do
    _jq() {
     echo ${row} | base64 --decode | jq -r ${1}
    }

    for i in {0..100}; do
        echo "Printing valueX: "$(_jq '.['"${i}"'].valueX')" . "
    done

done

1 Ответ

0 голосов
/ 21 октября 2019

Чтобы исправить псевдо-JSON, вы можете использовать такой инструмент, как https://hjson.org/. Для получения дополнительной информации и других параметров см. Jq FAQ: https://github.com/stedolan/jq/wiki/FAQ

...