PHP解析JSON与XML

PHP解析JSON数据:

1
2
3
4
$json_string='{"id":1,"name":"foo","email":"foo@foobar.com","interest":["wordpress","php"]} ';
$obj=json_decode($json_string);
echo $obj->name; //prints foo
echo $obj->interest[1]; //prints php

 

PHP解析XML 数据:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$xml_string="<?xmlversion='1.0'?>
<users>
    <user id='398'>
        <name>Foo</name>
        <email>foo@bar.com</name>
    </user>
    <user id='867'>
        <name>Foobar</name>
        <email>foobar@foo.com</name>
    </user>
</users>"; 
  
//load the xml string using simplexml
$xml = simplexml_load_string($xml_string); 
  
//loop through the each node of user
foreach ($xml->user as $user)
{
    //access attribute
    echo $user['id'], ' ';
    //subnodes are accessed by -> operator
    echo $user->name, ' ';
    echo $user->email, '<br />';
}

php对url返回的json格式数据解析示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$lines_array = file($url);
$lines_string = implode('',$lines_array);            
$json = htmlspecialchars($lines_string,ENT_NOQUOTES);
$J = json_decode($json);
$content $J->weatherinfo;
$city $content->city;   //城市名
$temp1 $content->temp1;
$temp2 $content->temp2;
$m strpos($temp1,'℃');//寻找位置
if ($m$temp1 substr($temp1,0,$m);//删除后面
$n strpos($temp2,'℃');//寻找位置
if ($n$temp2 substr($temp2,0,$n);//删除后面
$temp = ($temp1+$temp2)/2;    //平均温度
$weather $content->weather;   //天气状况
$weatherinfo array();
$weatherinfo['city'] = $city;
$weatherinfo['temp'] = (string)$temp;
$weatherinfo['weather'] = $weather;
  
dump($weatherinfo);
posted @ 2013-03-19 14:17  不再犹豫、  阅读(209)  评论(0编辑  收藏  举报