json分为双引号

时间:2016-09-21 18:59:01

标签: php

我的数据中有这样的字符串。

Categories { "0: Snack, 1:Juice, 2:Any "}

我想以这种方式输出,

{"0: Snack", "1:Juice", "2:Any"}

我该怎么做?

1 个答案:

答案 0 :(得分:1)

从非JSON字符串开始:

datetime.strptime

修剪外括号,引号和空格,然后在逗号上爆炸:

$your_string = '{ "0: Snack, 1:Juice, 2:Any "}';

这将为您提供如下数组:

$trimmed = trim($your_string, '{}" ');
$split = explode(', ', $trimmed);

从那时起,您可以获得您想要的非JSON结果:

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); )而不是一个对象([" Snack","Juice","Any"])。对于任何其他索引,您将获得对象表单。