我有一个" obj"对象和" str"串。 如何设置$ str;" obj"? 这是我的尝试:
$jsonStr = '{"foo":"bar","number":1}';
$jsonObj = json_decode($jsonStr);
$property = $_GET["prop"];
$jsonObj->$property = "value";
file_put_contents("OUT",json_encode($jsonObj));
它始终输出" {}"!
注意:抱歉英语不好,我不是母语为英语的人。
编辑: 我已经尝试过var_dump()代码中的每个变量。
"foo"
object(stdClass)#1 (1) {["foo"]:"value", ["number"]:1}
因此错误发生在file_put_contents("OUT",json_encode($jsonObj));
...
编辑2: 我发现了错误! 在真实的代码中,我写了
$jsonStr = '{"foo":"bar","number":1}';
$jsonObj = json_decode($jsonStr);
$property = $_GET["prop"];
$jsonObj->$property = "value";
file_put_contents("OUT",json_encode( ---->$jsonStr<----- ERROR! ));
感谢您的帮助!
答案 0 :(得分:1)
简单地做
public void doSomething() {
String valueY = System.getProperty("valueY");
}
而不是
file_put_contents("OUT",json_encode($jsonObj));
代码实际上有效! 这是一个拼写错误。