2017-10-18 88 views
-1

我的問題是, 是否可以根據用戶提供的URL來操作JSON對象?是否可以在基於用戶提供的URL的JSON上添加查詢?

例如, 讓說我有一個簡單的JSON:local/color_rgbval/colors

[ 
{ 
    color: "red", 
    value: "#f00" 
}, 
{ 
    color: "green", 
    value: "#0f0" 
}, 
{ 
    color: "blue", 
    value: "#00f" 
}, 
{ 
    color: "cyan", 
    value: "#0ff" 
} 
] 

我想取綠顏色的唯一價值。 因此用戶只需在local/color_rgbval/colors?=green(類似的東西)

+2

JSON只是一種數據格式。你需要一種編程語言。 PHP可以做到這一點。儘管如此,編寫整個事情對於Stackoverflow來說仍然是一個太大的問題。你需要做你的研究,努力和(可能)回來一個更具體的問題。 – Quentin

+0

@Quentin所以這意味着JSON將簡單地顯示我* let say *數據庫和我的移動應用程序中的所有數據* let say * iOS,那裏我可以從JSON操作數據?我的理解現在是否正確? –

+0

JSON將包含您放入的任何數據。如果將數據庫中的所有數據都放入數據庫中,那麼它將包含數據庫中的所有數據。如果您將它發送到在iOS下運行的應用程序,並且已經編寫了該應用程序來操作該數據,那麼它可以操縱該數據。 – Quentin

回答

0

類型的所有,這可能是DONT由JavaScript

1:使用URL片段IE瀏覽器。 #
網址看起來可能就像www.webstie.com#學校www.webstie.com#大學

這樣URL變化不會引起刷新或重定向,

第二。添加hashchange事件像

window.addEventListener("hashchange", function(e){ 
    var currentURL = window.location.hash; // will give school ,college 
    updateJson(currentURL) .. write logic to update THE jsoN 
}); 
0

尋找過去的無效JSON段,您已經發布 -

你可以做這種方式;

你的JSON數據集:

$rawJson = '[ 
{ 
    "color": "red", 
    "value": "#f00" 
}, 
{ 
    "color": "green", 
    "value": "#0f0" 
}, 
{ 
    "color": "blue", 
    "value": "#00f" 
}, 
{ 
    "color": "cyan", 
    "value": "#0ff" 
} 
]'; 

接下來,讓我們來解析這些數據,並創建一個數組,我們可以更輕鬆地搜索:

$jsonArray = json_decode($rawJson, true); 

最後,讓搜索給定的輸入,在這種情況下:​​:

$searchFor = 'green'; 
$keyFound = array_search($searchFor, array_column($jsonArray, 'color')); 

if ($keyFound) { 
    // answer 
    $result = $jsonArray[$keyFound]; 

    var_dump($result); 
} 

進一步打破這一點; array_column($jsonArray, 'color')將在給定數組中創建一個只包含顏色的數組。然後使用array_search我們將搜索給定的顏色並返回找到輸入顏色的位置的索引/鍵。

如果找到鑰匙,$jsonArray[$keyFound]會給我們正確的答案。

相關問題