Получение такой файловой ошибки при попытке запустить оболочку Maven? [Дубликат]

Gson легко учиться и реализовывать, что нам нужно знать, следуют двум методам

  • toJson () - Преобразование Java-объекта в формат JSON
  • fromJson () - преобразовать JSON в объект Java

`

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import com.google.gson.Gson;

public class GsonExample {
    public static void main(String[] args) {

    Gson gson = new Gson();

    try {

        BufferedReader br = new BufferedReader(
            new FileReader("c:\\file.json"));

        //convert the json string back to object
        DataObject obj = gson.fromJson(br, DataObject.class);

        System.out.println(obj);

    } catch (IOException e) {
        e.printStackTrace();
    }

    }
}

`

0
задан BroSlow 26 June 2014 в 20:09
поделиться

4 ответа

2
ответ дан Elliott Frisch 31 August 2018 в 12:02
поделиться
str="Initial Value = 168"
newstr="${str##* }"
echo "$newstr"  # 168

соответствие шаблонов - путь.

0
ответ дан David C. Rankin 31 August 2018 в 12:02
поделиться

Прежде всего, всегда указывайте свои переменные.

#!/bin/bash

str="Initial Value = 168"
echo "New Value=$(echo "$str" | cut -d '=' -f2);"

Для меня это приводит к выводу:

New Value= 168;

Если вы получаете возврат каретки между цифры и точку с запятой, то что-то может быть не так с вашим echo, или, возможно, ваши входные данные не так, как вы думаете. Возможно, вы редактируете свой сценарий на компьютере под Windows и копируете его, а ваше назначение переменной получает строки в стиле DOS. Из информации, которую вы предоставили в своем вопросе, я не могу сказать.

Во всяком случае, я бы так не сделал. Я хотел бы использовать printf.

#!/bin/bash

str="Initial Value = 168"
value=${str##*=}
printf "New Value=%d;\n" "$value"

Вывод printf предсказуем, и он легко удаляет ган, как пустое, когда вы этого не хотите.

Обратите внимание на замену вашего cut. Функциональность встроенных модулей bash описана на странице пользователя Bash в разделе «Расширение параметров», если вы хотите ее просмотреть. Замещенная мной замена не является точно той же функциональностью, что и у вас в вашем вопросе, но функционально эквивалентна для данных примера, которые вы предоставили.

0
ответ дан ghoti 31 August 2018 в 12:02
поделиться

Попробуйте следующее:

#! /bin/bash

str="Initial Value = 168"

awk '{print $2"="$4}' <<< $str > test.txt

Выход:

cat test.txt
Value=168

У меня есть комментарий, говорящий, что он не адресует ^ M, я на самом деле:

echo -e 'Initial Value = 168 \r' | cat -A 
Initial Value = 168 ^M$

После awk:

echo -e 'Initial Value = 168 \r' | awk '{print $2"="$4}' | cat -A
Value=168$
1
ответ дан Tiago 31 August 2018 в 12:02
поделиться
Другие вопросы по тегам:

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