json_encode不能将字符串用作索引

时间:2014-05-27 09:14:17

标签: php arrays json

当我有这样的数组时:

Array ( 
    [0] => Array ( [0] => 1 [1] => 12 [2] => Essener [3] => 1 )
    [1] => Array ( [0] => 2 [1] => 12 [2] => Dinkel Spezial [3] => 0.2 ) 
    [2] => Array ( [0] => 1 [1] => 1 [2] => Essener [3] => 1 )
) 

我使用json_encode并回复它,我明白了:

[["1","12","Essener","1"],["2","12","Dinkel Spezial","0.2"],["1","1","Essener","1"]]

这对我有好处。

现在我有一个包含stdClass个对象的数组,我无法使用json_encode转换为JSON。当我回应它时,它只是没有显示任何东西。

然后我用对象将这个数组转换为这样的数组(带get_object_vars()):

Array ( 
    [0] => Array ( 
        [item_id] => 1 
        [item_name] => Essener
    )
    [1] => Array ( 
        [item_id] => 2 
        [item_name] => Dinkel Spezial
    ) 
    [2] => Array ( 
        [item_id] => 3 
        [item_name] => Saatenbrot
    )
)

当我使用json_encode并回复时,它仍然没有显示任何内容。任何人都可以告诉我我做错了什么或者我需要做些什么来获得JSON数组?

我需要这个json数组将数据发送到IOS App。

2 个答案:

答案 0 :(得分:0)

来自文档:

  

注意:   如果编码失败,json_last_error()可用于确定错误的确切性质。

因此,您可以尝试自己检测确切的错误。根据您的信息,我无法看到任何错误。

此外,我不认为,它不会返回任何东西。尝试var_dump() json_encode()的结果false。我假设它返回{{1}},这意味着发生了错误。

答案 1 :(得分:0)

所以,如果有人想知道出了什么问题, 问题是我的阵列中有“ä,ü,ö,ß”,我需要将它们转换为unicode然后一切正常。