在php中调用json_decode后,如何连接并仅打印json对象中的值?
这是一个模式生成器,显示key:value对在php中调用json_decode后,如何连接并仅打印json对象中的值?,php,json,Php,Json,这是一个模式生成器,显示key:value对 "default": [ { "one": "u0001u0000u0000u0000", "two": "u0002u0000u0000u0000", "three": "u0003u0000u0000u0000" } ] 我想打印的是“默
"default": [
{
"one": "u0001u0000u0000u0000",
"two": "u0002u0000u0000u0000",
"three": "u0003u0000u0000u0000"
}
]
我想打印的是“默认值”:[{“U0001U0000U0000U0000U0002U0000U0000U0000U0000U0003U0000U0000U0000U0000U0000”}]
类似地,如果它是一个对象,例如:
"default": [ "a":
{
"one": "u0001u0000u0000u0000",
"two": "u0002u0000u0000u0000",
"three": "u0003u0000u0000u0000"
}
]
仅连接值并按如下方式打印:
["a": {"u0001u0000u0000u0000u0002u0000u0000u0000u0003u0000u0000u0000"}]
示例代码测试:
//此方法获取用户以json格式输入的值。用户也可以使用嵌套的json格式。我上面提到的例子很有效。
然后调用scanForNestedType方法,该方法扫描格式是否包含任何数组、数组>、映射等。。。
扫描嵌套类型后,它在内部调用$this->encodeValues($unit),将用户输入的值从整数转换为字节
以下是一个例子:
用户进入数组
[{“一”:1,“二”:2,“三”:3}]。转换后的结果如下:
[
{
“一”:u0001u0000u0000u0000,
“二”:u00002u0000u0000u0000,
“三:u0003u0000u0000u0000
}
]
现在,我可以正确获取每个键的值。我只需要以以下格式打印:
[
{
U0001U0000U0000U0000U00002U0000U0000U0000U00003U0000U0000U0000U0000U0000
}
]
如果我得到一个工作示例,那就太好了!您可以使用
json\u decode
将json转换为数组。然后使用foreach循环内爆
子数组['one'..]
片段
$json1 = '[{"one": "u0001u0000u0000u0000", "two": "u0002u0000u0000u0000", "three": "u0003u0000u0000u0000"}]';
$json2 = '[{ "a": { "one": "u0001u0000u0000u0000", "two": "u0002u0000u0000u0000", "three": "u0003u0000u0000u0000" } }]';
$arr1 = json_decode($json1,true);
$arr2 = json_decode($json2,true);
foreach($arr1 as $data){
$default1[] = implode($data);
}
$default1 = json_encode($default1, JSON_FORCE_OBJECT);
foreach($arr2 as $key => $child){
foreach($child as $childKey => $data){
$default2[$childKey] = implode($data);
}
}
$default2 = json_encode($default2, JSON_FORCE_OBJECT);
print_r($default1);
print_r($default2);
输出
{"0":"u0001u0000u0000u0000u0002u0000u0000u0000u0003u0000u0000u0000"}
{"a":"u0001u0000u0000u0000u0002u0000u0000u0000u0003u0000u0000u0000"}
生活
现在,您可以对
json\u进行解码
$default1,$default2
以获取php对象/数组。如果使用$assoc=TRUE
进行解码,则只需执行一个简单的操作。第二个示例不是有效的json。数组没有命名键。对于第二个示例,您可以使用此格式检查它。默认值你的问题不清楚,因为它不包含任何代码。在问题标题中,您在调用json_decode之后说,您的意思是您成功地将这个(无效的)json字符串解码为PHP对象,对吗?那么问题是什么?您不知道如何连接这些值,或者您在迭代数组时遇到问题,或者类似的问题?如果您稍作澄清,我们可能会提供帮助,但现在您的问题只定义了输入和所需的输出,将整个编码部分留给我们。@SouravChatterjee请更新问题中的示例,以便大家都清楚,而不是在注释部分发布代码。另外,请显示您迄今为止尝试过的代码。(使用google)研究如何循环数组以及如何使用PHP将一些字符串组合在一起应该是很容易的。逻辑其实并不太复杂,语法也很简单。在要求其他人的空闲时间之前,请表明你自己已经做了一些努力来解决这个问题。谢谢,非常感谢Smartpal。这就是我要找的。但是,有没有办法取下钥匙?例如,以以下格式显示结果:[{“U0001U0000U0000U0000U0000U00002U0000U0000U0000U0003U0000U0000U0000U0000U0000U0000U0000U0000U0000U0000U0000U0000U0000U0000U0000U0000U0000U0000U0000U0000U0000U0000”}]您的预期结果不是有效的json。但是,您可以使用preg_replace!
{"0":"u0001u0000u0000u0000u0002u0000u0000u0000u0003u0000u0000u0000"}
{"a":"u0001u0000u0000u0000u0002u0000u0000u0000u0003u0000u0000u0000"}