nie*_*lsv 2 javascript php arrays json curl
我有一个关于选择JSON对象的部分并检查它们是否具有值的问题.
我在PHP中从API加载JSON:
$json_url ='http://api.url.com/api/gateway/call/1.4/getApp?appid=2631';
$ch = curl_init($json_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$str = curl_exec($ch);
curl_close($ch);
$data = json_decode($str);
Run Code Online (Sandbox Code Playgroud)
输出数据是:
object(stdClass)[1]
public 'app' =>
array
0 =>
object(stdClass)[2]
public 'id' => string '2631' (length=4)
public 'apptypeid' => string '3' (length=1)
public 'organizerid' => string '913' (length=3)
public 'accountId' => string '687' (length=3)
public 'name' => string 'Meet in Liege' (length=13)
public 'info' => string '' (length=0)
public 'submit_description' => string '' (length=0)
public 'category' => string '' (length=0)
public 'app_icon' => string 'upload/appimages/2631/icon1024.png' (length=34)
public 'homescreen' => string '' (length=0)
public 'token' => string 'e6615c94a8b0fed28cdbec611669b19b' (length=32)
public 'certificate' => string 'app2631' (length=7)
public 'subdomain' => string 'mil13' (length=5)
public 'cname' => string '' (length=0)
public 'advancedFilter' => string '0' (length=1)
public 'status' => string 'inactive' (length=8)
public 'isdeleted' => string '0' (length=1)
public 'creation' => string '2013-03-19 14:20:44' (length=19)
public 'defaultlanguage' => string 'fr' (length=2)
public 'visibleintapcrowd' => string '0' (length=1)
public 'applestoreid' => string '0' (length=1)
public 'address' => string '' (length=0)
public 'lat' => string '0' (length=1)
public 'lon' => string '0' (length=1)
public 'telephone' => string '' (length=0)
public 'email' => string '' (length=0)
public 'website' => string '' (length=0)
public 'contentmodule_css_phone' => string '' (length=0)
public 'contentmodule_css_tablet' => string '' (length=0)
public 'searchterms' => string '' (length=0)
public 'fbid' => string '563672167017349' (length=15)
public 'dropdb' => string '0000-00-00 00:00:00' (length=19)
public 'bundle' => string 'com.tapcrowd.meetinliege2631' (length=28)
public 'blankurl' => string '' (length=0)
public 'header_html_phones' => string '' (length=0)
public 'header_html_tablets' => string '' (length=0)
public 'footer_html_phones' => string '' (length=0)
public 'footer_html_tablets' => string '' (length=0)
public 'themeid' => string '41' (length=2)
public 'timestamp' => string '1368548676' (length=10)
public 'subflavorid' => string '12' (length=2)
public 'subflavortype' => string '3' (length=1)
public 'subflavorpaidtype' => string '9999' (length=4)
public 'show_external_ids_in_cms' => string '0' (length=1)
public 'launcherview' => string '' (length=0)
public 'responsive' => string '1' (length=1)
public 'apptype' => string 'Event Flavor' (length=12)
public 'channel' => string '1' (length=1)
public 'aboutbuttonkey' => string 'About TapCrowd' (length=14)
public 'aboutbuttonurl' => string 'http://m.tap.cr/about' (length=21)
public 'appversion' => string '' (length=0)
public 'events' =>
array
0 =>
object(stdClass)[3]
public 'id' => string '5004' (length=4)
.......
Run Code Online (Sandbox Code Playgroud)
现在我想检查一下应用程序数组的'info','app_icon','address'和'email'是否为空.
有谁知道我怎么做到这一点?这可能与JSON查询?我想用javascript做我的操作!
你试过这个:
if(empty($data->app[0]->info)){
// info empty
}
if(empty($data->app[0]->app_icon)){
// app_icon empty
}
if(empty($data->app[0]->address)){
// address empty
}
if(empty($data->app[0]->email)){
// email empty
}
Run Code Online (Sandbox Code Playgroud)
如果你将json传递给javascript然后使用(假设json被分配给一个名为的变量data):
if(data.app[0].info.length === 0){
// info empty
}
Run Code Online (Sandbox Code Playgroud)
然后通过替换info您要检查的名称重复其他人.