$locs='"[{"locid":"101","rows":[{"itemcode":"100005","qty":10,"desc":"Potato Chips Banana Chips","locs":"101"},{"itemcode":"100002","qty":20,"desc":"mango","locs":"101"}]}]"';
$locsArray = json_decode($locs, true);
echo json_encode($locsArray);
//output is : null
答案 0 :(得分:0)
首先让我说,因为我必须去解决你称之为CODE dude的混乱局面,所以你必须要检查有多少打开和关闭的花括号。 但是对于你的代码,这里是解决方案:
$locs = array("loicd"=>"101","rows"=>[array("itemcode"=>"100005","qty"=>10,"desc"=>"Potato Chips Banana Chips","locs"=>"101"),array("itemcode"=>"100002","qty"=>20,"desc"=>"mango","locs"=>"101")]);
$js_en = json_encode($locs);
$js_dc = json_decode($js_en, true);
var_dump($js_dc);
print "<br />".$js_dc['rows'][0]['itemcode'];
使用var_dump()在使用json_arrays
时非常有帮助所以不要编码你编码的字符串和数组:)
答案 1 :(得分:0)
你必须更新两件事。第一次更新from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import webbrowser
driver = webdriver.Chrome()
webbrowser.open('https://www.instagram.com/accounts/login/')
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--disable-infobars")
browser = webdriver.Chrome(executable_path =
"C:\chromedriver",chrome_options=chrome_options)
browser = webbrowser
login_elem =
webbrowser.find_element_by_xpath('//article/div/div/p/a[text()="Anmelden"]')
login_elem.click()
driver.find_element_by_css_selector('.button.c_button.s_button').click()
ese.clickButton(Anmelden)
改变:
$locs
为:
$locs='"[{"locid":"101","rows":
[{"itemcode":"100005","qty":10,"desc":"Potato Chips Banana Chips","locs":"101"},{"itemcode":"100002","qty":20,"desc":"mango","locs":"101"}]}]"';
然后代替$locs='[{"locid":"101","rows":
[{"itemcode":"100005","qty":10,"desc":"Potato Chips Banana Chips","locs":"101"},{"itemcode":"100002","qty":20,"desc":"mango","locs":"101"}]}]';
使用echo
而在print
内你尝试迭代forEach
而不是 PHP数组所以你需要迭代你的解析结果$locs
。
$locsArray
答案 2 :(得分:0)
更新后,您的新$locs
变量在开头和结尾没有双引号:
$locs='[{"locid":"101","rows":[{"itemcode":"100005","qty":10,"desc":"Potato Chips Banana Chips","locs":"101"},{"itemcode":"100002","qty":20,"desc":"mango","locs":"101"}]}]';
获取&#34; itemcode&#34;你可以将你的foreach更新为:
$locs='[{"locid":"101","rows":[{"itemcode":"100005","qty":10,"desc":"Potato Chips Banana Chips","locs":"101"},{"itemcode":"100002","qty":20,"desc":"mango","locs":"101"}]}]';
$locsArray = json_decode($locs, true);
foreach($locsArray[0]["rows"] as $locs) {
echo $locs["itemcode"];
}
这会给你100005
和100002
要更新您可以使用的多个结果的尝试:
foreach ($locsArray as $locs) {
echo $locs["locid"];
foreach ($locs["rows"] as $row) {
echo $row["itemcode"];
}
}