回答編集履歴

3

コメントの解を導入

2020/07/15 14:54

投稿

Daregada
Daregada

スコア11990

test CHANGED
@@ -10,9 +10,11 @@
10
10
 
11
11
 
12
12
 
13
- # json=$(eval echo $(sed -e 's/\"/\\"/g' test.json)) # 1行になる
13
+ # json=$(eval echo $(sed -e 's/\"/\\"/g' test.json)) # 1行になる別解
14
14
 
15
+ json=$(eval echo "\"$(sed -e 's/\"/\\"/g' test.json)\"") # コメントによる解
16
+
15
- json=$(eval "cat <<< \"$(sed -e 's/\"/\\"/g' test.json)\"") # 複数行まま
17
+ # json=$(eval "cat <<< \"$(sed -e 's/\"/\\"/g' test.json)\"") # もうひとつ別解
16
18
 
17
19
 
18
20
 

2

実行結果を追加

2020/07/15 14:54

投稿

Daregada
Daregada

スコア11990

test CHANGED
@@ -19,3 +19,17 @@
19
19
  echo "$json"
20
20
 
21
21
  ```
22
+
23
+ ```
24
+
25
+ $ bash jsontest.sh
26
+
27
+ {
28
+
29
+ "number": 1,
30
+
31
+ "string": "abc"
32
+
33
+ }
34
+
35
+ ```

1

説明を修正

2020/07/15 14:31

投稿

Daregada
Daregada

スコア11990

test CHANGED
@@ -10,9 +10,9 @@
10
10
 
11
11
 
12
12
 
13
- # json=$(eval echo $(sed -e 's/\"/\\"/g' test.dat)) # 1行になる
13
+ # json=$(eval echo $(sed -e 's/\"/\\"/g' test.json)) # 1行になる
14
14
 
15
- json=$(eval "cat <<< \"$(sed -e 's/\"/\\"/g' test.dat)\"") # 複数行のまま
15
+ json=$(eval "cat <<< \"$(sed -e 's/\"/\\"/g' test.json)\"") # 複数行のまま
16
16
 
17
17
 
18
18