0

これは私が書いたコードです:

$result = $textProc->sentiment($text);
$json_a = json_decode($result, true);
echo $json_a[label];

$result は JSON データを格納します。

ただし、エラーが返されます:

Warning: json_decode() expects parameter 1 to be string, object given in C:\xampp
\htdocs\ai\sentiment.php on line 9

Notice: Use of undefined constant label - assumed 'label' in C:\xampp\htdocs
\ai\sentiment.php on line 11

解決策: これは var_dump($result) の出力です:

object(stdClass)#2 (2) { ["value"]=> float(0.63882080795918) ["sent"]=> int(1) } 

すみません、最初に確認しておくべきでした。

4

2 に答える 2

2

注意: 未定義の定数ラベルの使用 - C:\xampp\htdocs \ai\sentiment.php の 11 行目の「ラベル」を想定

On echo $json_a[label];label は、存在しない定数を指します。

連想配列の要素を参照するには、次のようにします。

echo $json_a['label'];

警告: json_decode() は、パラメーター 1 が文字列であると想定します。オブジェクトは、9 行目の C:\xampp \htdocs\ai\sentiment.php で指定されます

次に、 on $result = $textProc->sentiment($text);、関数は文字列を返しません。var_dump($result)確認するには、json文字列形式を返します。

于 2012-04-22T11:31:16.567 に答える
1

$result は文字列ではありません。を使用して、オブジェクト内のどこに文字列が格納されているかを調べてみてくださいprint_r($result)

于 2012-04-22T11:30:28.697 に答える