Прочитать строку за строкой в ​​сценарии оболочки из файла CSV [дубликат]

Сначала вам нужно выбрать библиотеку реализации для этого.

Java API для обработки JSON (JSR 353) предоставляет переносные API для анализа, генерации, преобразования и запроса JSON с использованием объектной модели и потоковой передачи API-интерфейсы.

Эталонная реализация находится здесь: https://jsonp.java.net/

Здесь вы можете найти список реализаций JSR 353:

Что такое API, который реализует JSR-353 (JSON)

И чтобы помочь вам решить ... Я тоже нашел эту статью:

http://blog.takipi.com/the-ultimate-json-library-json-simple-vs-gson-vs-jackson-vs-json/

Если вы идете на Джексона, вот хорошая статья о конверсии между JSON в / из Java с помощью Jackson: https://www.mkyong.com/java/how-to-convert-java-object- to-from-json-jackson /

Надеюсь, что это поможет!

12
задан ramgorur 8 July 2014 в 10:17
поделиться

2 ответа

Установите IFS. Shell использует переменную IFS, чтобы определить, что представляют собой разделители полей. По умолчанию IFS устанавливается на символ пробела. Измените его на новую строку.

#!/bin/bash
names="Netgear
Hon Hai Precision Ind. Co.
Apple"
# Save current IFS
SAVEIFS=$IFS
# Change IFS to new line. 
IFS=$'\n'
names=($names)
# Restore IFS
IFS=$SAVEIFS
for (( i=0; i<${#names[@]}; i++ ))
do
    echo "$i: ${names[$i]}"
done

Выход

0: Netgear
1: Hon Hai Precision Ind. Co.
2: Apple
18
ответ дан ネロク 27 August 2018 в 11:39
поделиться

Позвольте мне внести свой вклад в ответ Sanket Parmar . Если вы можете извлечь разделение и обработку строк в отдельную функцию, нет необходимости сохранять и восстанавливать $IFS - вместо этого использовать local:

#!/bin/bash

function print_with_line_numbers {
    local IFS=$'\n'
    local lines=($1)
    local i
    for (( i=0; i<${#lines[@]}; i++ )) ; do
        echo "$i: ${lines[$i]}"
    done
}

names="Netgear
Hon Hai Precision Ind. Co.
Apple"

print_with_line_numbers "$names"

См. Также:

7
ответ дан firegurafiku 27 August 2018 в 11:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: