-1
我有我的数据这样的字符串。json使分离成双引号
Categories { "0: Snack, 1:Juice, 2:Any "}
我要输出这种方式代替,
{"0: Snack", "1:Juice", "2:Any"}
我怎样才能做到这一点?
我有我的数据这样的字符串。json使分离成双引号
Categories { "0: Snack, 1:Juice, 2:Any "}
我要输出这种方式代替,
{"0: Snack", "1:Juice", "2:Any"}
我怎样才能做到这一点?
与非JSON字符串开始:
$your_string = '{ "0: Snack, 1:Juice, 2:Any "}';
剪掉外括号,报价和空间,然后在逗号爆炸:
$trimmed = trim($your_string, '{}" ');
$split = explode(', ', $trimmed);
这将让你像这样的数组:
array (size=3)
0 => string '0: Snack' (length=8)
1 => string '1:Juice' (length=7)
2 => string '2:Any' (length=5)
从这一点来说,你可以得到非JSON导致你想是这样的:
$result = '{"' . implode('", "', $split) . '"}';
或实际得到JSON这样的:
$resplit = array_map(function($x) { return explode(':', $x); }, $split);
$indexed = array_column($resplit, 1, 0);
$json = json_encode($indexed);
注意,因为你有整数索引是从零开始和顺序,将JSON你最终会是一个数组([" Snack","Juice","Any"]
),而比对象({"0":" Snack","1":"Juice","2":"Any"}
)。对于任何其他索引,您将获得对象表单。
会试试这个,谢谢! – Dhenn
我没有看到任何JSON或任何PHP - 你会分享你有麻烦的代码吗? –
json不在这里 –
这不是JSON字符串,它真的看起来像什么 – RiggsFolly