PHP JSON解码:带有’$’问题的数组
发布时间:2020-12-13 14:13:15 所属栏目:PHP教程 来源:网络整理
导读:我有以下 JSON文件作为输入, { "$type": "NanoWebInterpreter.WebInputData,NanoWebInterpreter","NBBList": { "$type": "System.Collections.Generic.List`1[[monoTNP.Common.NBB,monoTNP.Common]],mscorlib","$values": [ { "$type": "monoTNP.Common.NBB,
我有以下
JSON文件作为输入,
{ "$type": "NanoWebInterpreter.WebInputData,NanoWebInterpreter","NBBList": { "$type": "System.Collections.Generic.List`1[[monoTNP.Common.NBB,monoTNP.Common]],mscorlib","$values": [ { "$type": "monoTNP.Common.NBB,monoTNP.Common","ID": "id-0065-00000003","MPList": { "$type": "System.Collections.Generic.List`1[[monoTNP.Common.MP,"$values": [ { "$type": "monoTNP.Common.EllipticalMP,"Eccentricity": 1.0,"ID": "id-0065-00000006","ParticleIndex": -1,"DispersionInteractionStrength": 0.0,"DispersionInteractionRange": 2.5,"CharacteristicSize": 0.0,"CenterOfMass": "<0,0>","OrientationVector": "<>" },{ "$type": "monoTNP.Common.CubeMP,"ID": "id-0065-00000005",{ "$type": "monoTNP.Common.CircularMP,"ID": "id-0065-00000004","OrientationVector": "<>" } ] }, 等等 我的最终目标是递归地跟踪这个树,用< ul>包装每个键/对象名称.标签,以及某种< form>中“ParticleIndex”级别的属性结构,但我无法弄清楚如何索引到两个’$values’数组. 这是我一直在操作以学习如何访问每个元素(对象或数组)的代码: foreach ($json->NBBList->'$values'[0] as $key => $value){ var_dump($key); echo "n".var_dump($value); echo "nnn"; } 这显然不起作用,因为值的索引在字符串之外,但是当它在内部时,PHP将其解释为字符串的一部分. 有没有办法让我能够索引’$values’数组的每个元素,并最终在for循环中? 我在想使用JSON解码的“真实”属性可能是一个更好的解决方案……
您可以使用以下表示法访问名称包含特殊字符的对象属性:
$json->NBBList->{'$values'}[0] 我不认为这种行为在任何地方都有记录,但你可以在PHP grammar中找到它(参见variable_name的定义,它在object_property中使用的object_dim_list中使用). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |