Targetting a specific part of json array, if present create table

chusrubi2

New Member
I have a complex json array which I want to target a specific line/string and if present then add a small table to web page...This is the array\[code\]{"coastalWarnings":[{ "loc":"ABEL", "warn":"GALE" },{ "loc":"CASTLEPOINT", "warn":"STORM" },{ "loc":"CHALMERS", "warn":"GALE" },{ "loc":"CHATHAM ISLANDS", "warn":"GALE" },{ "loc":"CONWAY", "warn":"STORM" },{ "loc":"COOK", "warn":"STORM" },{ "loc":"FOVEAUX", "warn":"GALE" },{ "loc":"GREY", "warn":"GALE" },{ "loc":"MILFORD", "warn":"STORM" },{ "loc":"PORTLAND", "warn":"GALE" },{ "loc":"PUYSEGUR", "warn":"STORM" },{ "loc":"RAGLAN", "warn":"GALE" },{ "loc":"RANGITATA", "warn":"GALE" },{ "loc":"STEPHENS", "warn":"GALE" } ],"isAdvisory":true,"isOutlook":true,"isVhf":true,"isWatch":true,"liftedWarnings":[ ],"oceanicWarnings":[{ "loc":"FORTIES", "warn":"GALE" },{ "loc":"PACIFIC", "warn":"GALE" },{ "iceAccretion":true, "loc":"SOUTHERN", "warn":"GALE" },{ "loc":"SUBTROPIC", "warn":"GALE" } ],"roadSnowWarnings":[ ],"severeWarnings":[{ "loc":"BULLER", "warn":["ISSUE" ] },{ "loc":"CANTERBURY", "warn":["ISSUE" ] },{ "loc":"FIORDLAND", "warn":["ISSUE" ] },{ "loc":"HAWKES BAY", "warn":["ISSUE" ] },{ "loc":"MANAWATU", "warn":["ISSUE" ] },{ "loc":"MARLBOROUGH", "warn":["ISSUE" ] },{ "loc":"NELSON", "warn":["ISSUE" ] },{ "loc":"OTAGO", "warn":["ISSUE" ] },{ "loc":"SOUTHLAND", "warn":["ISSUE" ] },{ "loc":"TAIHAPE", "warn":["ISSUE" ] },{ "loc":"TARANAKI", "warn":["ISSUE" ] },{ "loc":"TAUMARUNUI", "warn":["ISSUE" ] },{ "loc":"TAUPO", "warn":["ISSUE" ] },{ "loc":"WAIRARAPA", "warn":["ISSUE" ] },{ "loc":"WAITOMO", "warn":["ISSUE" ] },{ "loc":"WANGANUI", "warn":["ISSUE" ] },{ "loc":"WELLINGTON", "warn":["ISSUE" ] },{ "loc":"WESTLAND", "warn":["ISSUE" ] } ],"thunderstormWarnings":[ ]}\[/code\]As you can see the array is broken down into parts - \[code\]"coastalWarnings""liftedWarnings""oceanicWarnings""roadSnowWarnings""severeWarnings""thunderstormWarnings"\[/code\]I wish to target "severeWarnings" and in particular "loc":"CANTERBURY" which displays as -\[code\] },{ "loc":"CANTERBURY", "warn":["ISSUE" ] },{\[/code\]so when present in array it will trigger a table such as\[code\]<table align="center" width="100%" bgcolor="red"> <tr><td><strong>Severe Weather Warning in effect for CANTERBURY</strong></td></tr></table>\[/code\]The biggest problem is the array changes all the time so need to target I guess by searching for specific words or wording unless it can be broken down into parts reliably.Could something as simple as this work?\[code\]<?$table = <table align="center" width="100%" bgcolor="red"><tr><td><strong>Severe Weather Warning in effect for CANTERBURY</strong></td></tr></table>;$file = file_get_contents("filename.ext");if(!strpos($file, ""loc":"CANTERBURY"")) {echo $table;}?\[/code\]Unsure how to go about this and my php skills are fairly limited so if you would be so kind as to show me a script or a step by step on how to achieve this, I would be ever so appreciative.Thanks in advance.
 
Back
Top