print_r(json_decode('{"t":"\u05D0\u05E0\u05D2\u05DC\u05D9\u05EA"}'));
这是有效的,并以希伯来语提供输出但是当我把字符串的名称改为硬编码
时(print_r(json_decode($str));
其中
$str = "\u05ea\u05b5\u05bc\u05dc\u05be\u05d0\u05b8\u05d1";)
然后它给出空输出
答案 0 :(得分:1)
好吧,\u05ea\u05b5\u05bc\u05dc\u05be\u05d0\u05b8\u05d1
不是JSON字符串,而{"t":"\u05D0\u05E0\u05D2\u05DC\u05D9\u05EA"}
是。{1}}。因此,json_decode
将返回NULL
。
请阅读JSON,特别是json_encode()和json_decode()的功能。
答案 1 :(得分:1)
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
link = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, "companyResultsName")))
link.click()
你的$ str变量有错误的json数组语法..将上面的字符串放在$ str
中答案 2 :(得分:0)
字符串不一样。在第一个代码示例中,您的字符串是一个JSON对象,其字符串包含unicode字符。在第二个例子中,它只是一个unicode字符串,我认为它不是有效的JSON,因此json_decode
无法处理它。