PHP JSON

var data={

      655199:{

             480:[780,2,980],

             397:[770,2,990],

             596:[770,2,990]

      },

      655201:{

             .....

      }

}

有人有办法使PHP可以操作这些JSON吗?这个本来是javascript的json

主要是这个 key是数据数字类型,而且没有引号,

汗死,解决不了


交互式爱情
浏览 547回答 2
2回答

噜噜哒

我的作法是使用替代对字符串进行规范化,也就是给他们都加上双引号,变成规范的php JSON 格式,然后再做处理。具体如下:<?php&nbsp;&nbsp;&nbsp;&nbsp; $data='{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;655199:{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;480:[780,2,980], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;397:[770,2,990], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;596:[770,2,990] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;655201:{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;481:[780,2,980], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;398:[770,2,990], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;599:[770,2,990] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} }';$data&nbsp;=&nbsp;preg_replace('/(\d+)/','"$1"',$data);var_dump(json_decode($data));echo&nbsp;"<br/>";$data='var&nbsp;data&nbsp;={ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;655199:{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;480:[780,2,980], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;397:[770,2,990], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;596:[770,2,990] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;655201:{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;481:[780,2,980], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;398:[770,2,990], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;599:[770,2,990] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} }';$data&nbsp;=&nbsp;preg_replace('/(\d+)/','"$1"',ltrim($data,'var&nbsp;data&nbsp;='));var_dump(json_decode($data));//End_php

鸿蒙传说

可以这样用data[655199]或data[655199][480][....]
打开App,查看更多内容
随时随地看视频慕课网APP