0

javascript または php を使用して、Web ページから値を取得するにはどうすればよいですか? これは、解析しようとしている JSON です。

{"error":[""],"templateHtml":"", "_visitor_conversationsUnread":"0","_visitor_alertsUnread":"0"}

「_visitor_alertsUnread」の値を取得しようとしています。どうすればこれを行うことができますか?

ありがとうございました!

4

2 に答える 2

1

正規表現を使用するか、json デコードを使用するか、単純なインデックス付けを使用して解析できます。ただし、これら 3 つの中では、json が最もクリーンで正しい方法です。

1) JSON デコード:

$page = file_get_contents($url);
$json_arr = json_decode($string,true);
return $json_arr['_visitor_alertsUnread'];

2) 正規表現:

$page = file_get_contents($url);
$pattern = ".*?_visitor_alertsUnread\\\":\\\"(\\d)\\\"";
preg_match($pattern, $page, $matches);
return $matches[1];

3) 索引付け:

$page = file_get_contents($url);
$needle = "_visitor_alertsUnread";
$startpos = strrpos($page, $needle) + strlen($needle) + 3;
$endpos = strrpos($page, "\"", $startpos);
return substr($page, $startpos, $endpos);
于 2012-06-05T05:23:31.313 に答える
0

応答はJSONです。

_visitor_alertsUnreadの値を取得したいだけの場合は、次のようにすることができます。

var JSONObj = {"error":["Security error occurred. Please press back, refresh the page, and try again."],"templateHtml":"\n\n\n\n\t</a>\n\t\n\t\tThe following error occurred:</h2>\n\t\t\n\t\t\n\t\t\n\t\t\tSecurity error occurred. Please press back, refresh the page, and try again.</label>\n\t\t\n\t\t</div>\n\t\n</div>","_visitor_conversationsUnread":"0","_visitor_alertsUnread":"0"};

alert(JSONObj._visitor_alertsUnread);
于 2012-06-05T05:17:35.020 に答える