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

注意:使用未定义的常量标签 - 在第 11 行的 C:\xampp\htdocs \ai\sentiment.php 中假定为“标签”

标签上echo $json_a[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 回答