php json_encode输出格式

时间:2015-05-07 22:18:26

标签: javascript php jquery json

我需要将以下数组从php转换为此格式

(php format) [["A","1"],["B","1"],["C","1"],["D","-1"],["E","-1"],["F","-1"]]

这种格式

"A": 1,
        "B": 1,
        "C": 1

我正在使用

获取数组
$data[] = array($field1, $field2);

它正在使用

在php中回显
echo json_encode($data);

我需要使用javascript for jverctormap

解析这些数据

我有什么想法可以做到这一点?

3 个答案:

答案 0 :(得分:0)

我会给你一个简短的片段来对Javascript进行这种转换:

var jsonFromArray = {};
arrayToBeTransformed.forEach(function(v){
    jsonFromArray[v[0]] = v[1];
});
console.log(jsonFromArray);

其中arrayToBeTransformed具有此值:

[[ “A”, “1”],[ “B”, “1”],[ “C”, “1”],[ “d”, “ - 1”],[ “E”, “-1”],[ “F”, “ - 1”]]

答案 1 :(得分:0)

最简单的方法是以自然格式发送数组,然后在客户端处理它。

<强>的Javascript

var data = [["A","1"],["B","1"],["C","1"],["D","-1"],["E","-1"],["F","-1"]];

var output = {};

data.forEach(function(a) {
    output[a[0]] = Number(a[1]);
});

/*
output will be 
{
    "A": 1,
    "B": 1,
    "C": 1,
    "D": -1,
    "E": -1,
    "F": -1
}
*/

答案 2 :(得分:0)

在php中更改

$data[] = array($field1, $field2);

$data[$field1] =  $field2;

没有必要以您不需要的格式发送它并且必须转换它