回答編集履歴
6
見直し
test
CHANGED
@@ -42,9 +42,7 @@
|
|
42
42
|
|
43
43
|
$json = file_get_contents('226112_data.json');
|
44
44
|
|
45
|
-
$json =
|
45
|
+
$json_arr = json_decode(preg_replace('/^\xEF\xBB\xBF/', '', $json), true);
|
46
|
-
|
47
|
-
$json_arr = json_decode($json, true);
|
48
46
|
|
49
47
|
if (is_null($json_arr)) {
|
50
48
|
|
@@ -80,10 +78,8 @@
|
|
80
78
|
|
81
79
|
こんな感じに雑サンプルコード。
|
82
80
|
|
83
|
-
直接取得したjsonファイルを処理するとSyntax error
|
81
|
+
直接取得したjsonファイルを処理するとSyntax errorになりますが、
|
84
82
|
|
85
|
-
|
83
|
+
UTF-8のBOM付きであるためなので、
|
86
84
|
|
87
|
-
|
85
|
+
preg_replaceを組み合わせれば回避できます。
|
88
|
-
|
89
|
-
今日は一旦ここで区切ります。
|
5
見直し
test
CHANGED
@@ -40,7 +40,7 @@
|
|
40
40
|
|
41
41
|
//exit;
|
42
42
|
|
43
|
-
$json = file_get_contents('226112_data
|
43
|
+
$json = file_get_contents('226112_data.json');
|
44
44
|
|
45
45
|
$json = mb_convert_encoding($json, 'UTF-8');
|
46
46
|
|
@@ -80,8 +80,10 @@
|
|
80
80
|
|
81
81
|
こんな感じに雑サンプルコード。
|
82
82
|
|
83
|
-
|
83
|
+
直接取得したjsonファイルを処理するとSyntax errorを回避できず、
|
84
84
|
|
85
|
-
|
85
|
+
ネット上のjson整形サービスにて加工したものならエラーなく実行できる、
|
86
86
|
|
87
|
-
|
87
|
+
というところまで動作確認を取ったものの、
|
88
|
+
|
89
|
+
今日は一旦ここで区切ります。
|
4
見直し
test
CHANGED
@@ -18,6 +18,16 @@
|
|
18
18
|
|
19
19
|
```php
|
20
20
|
|
21
|
+
<html>
|
22
|
+
|
23
|
+
<head>
|
24
|
+
|
25
|
+
<title>226112.php</title>
|
26
|
+
|
27
|
+
</head>
|
28
|
+
|
29
|
+
<body>
|
30
|
+
|
21
31
|
<?php
|
22
32
|
|
23
33
|
|
@@ -26,11 +36,25 @@
|
|
26
36
|
|
27
37
|
//$json = file_get_contents($url);
|
28
38
|
|
29
|
-
|
39
|
+
//file_put_contents('226112_data.json', $json);
|
30
40
|
|
31
|
-
|
41
|
+
//exit;
|
32
42
|
|
43
|
+
$json = file_get_contents('226112_data_s.json');
|
44
|
+
|
33
|
-
|
45
|
+
$json = mb_convert_encoding($json, 'UTF-8');
|
46
|
+
|
47
|
+
$json_arr = json_decode($json, true);
|
48
|
+
|
49
|
+
if (is_null($json_arr)) {
|
50
|
+
|
51
|
+
echo json_last_error() . PHP_EOL;
|
52
|
+
|
53
|
+
echo json_last_error_msg() . PHP_EOL;
|
54
|
+
|
55
|
+
exit;
|
56
|
+
|
57
|
+
}
|
34
58
|
|
35
59
|
$list = $json_arr['list'];
|
36
60
|
|
@@ -44,6 +68,20 @@
|
|
44
68
|
|
45
69
|
echo "</p>" . PHP_EOL;
|
46
70
|
|
71
|
+
?>
|
72
|
+
|
73
|
+
</body>
|
74
|
+
|
75
|
+
</html>
|
76
|
+
|
77
|
+
|
78
|
+
|
47
79
|
```
|
48
80
|
|
49
81
|
こんな感じに雑サンプルコード。
|
82
|
+
|
83
|
+
テストに使ったjsonファイルの保存方法に問題があったようだったので、
|
84
|
+
|
85
|
+
改めてphpコード内でfile_put_contents()にて保存したjsonファイルを基に動作確認をとった次第。
|
86
|
+
|
87
|
+
(mb_convert_encoding()でUTF-8へ変換かけたら、json_decode()でSyntax errorがでなくなった、っていう。)
|
3
見直し
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
---
|
18
18
|
|
19
|
-
|
19
|
+
```php
|
20
20
|
|
21
21
|
<?php
|
22
22
|
|
2
見直し
test
CHANGED
@@ -11,3 +11,39 @@
|
|
11
11
|
楽天ブックスの新刊カレンダーのjsonは非公式APIのようなので、
|
12
12
|
|
13
13
|
雑に扱うと良くない気がします。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
---
|
18
|
+
|
19
|
+
'''php
|
20
|
+
|
21
|
+
<?php
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
//$url = "https://books.rakuten.co.jp/event/book/pocket-book/calendar/2019/11/js/booklist.json"; //新刊検索
|
26
|
+
|
27
|
+
//$json = file_get_contents($url);
|
28
|
+
|
29
|
+
$json = file_get_contents('226112_data.json');
|
30
|
+
|
31
|
+
$json_arr = json_decode($json, TRUE);
|
32
|
+
|
33
|
+
//print_r($json_arr['column']);
|
34
|
+
|
35
|
+
$list = $json_arr['list'];
|
36
|
+
|
37
|
+
echo "<p>" . PHP_EOL;
|
38
|
+
|
39
|
+
foreach ($list as list($id,$url,$img,$eisbn,$date,$ttl,$ttl_kana,$athr,$dprc,$bprc,$ahid_id,$jun_id,$cpn_id,$ser_id,$lbl_id,$s_rec,$s_new,$s_res,$s_frc,$f_adlt,$fc1_id,$fc2_id,$fc3_id,$viewer_id,$viewer_url)) {
|
40
|
+
|
41
|
+
echo $ttl . "<br />" . PHP_EOL;
|
42
|
+
|
43
|
+
}
|
44
|
+
|
45
|
+
echo "</p>" . PHP_EOL;
|
46
|
+
|
47
|
+
```
|
48
|
+
|
49
|
+
こんな感じに雑サンプルコード。
|
1
加筆修正
test
CHANGED
@@ -3,3 +3,11 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
`print_r($json_arr);`
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
老婆心ながら、
|
10
|
+
|
11
|
+
楽天ブックスの新刊カレンダーのjsonは非公式APIのようなので、
|
12
|
+
|
13
|
+
雑に扱うと良くない気がします。
|