Сначала вам нужно выбрать библиотеку реализации для этого.
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 /
Надеюсь, что это поможет!
Установите 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
Позвольте мне внести свой вклад в ответ 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"
См. Также: