是否可以在基于用户提供的URL的JSON上添加查询?

问题描述:

我的问题是, 是否可以根据用户提供的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可以做到这一点。尽管如此,编写整个事情对于*来说仍然是一个太大的问题。你需要做你的研究,努力和(可能)回来一个更具体的问题。 – Quentin

+0

@Quentin所以这意味着JSON将简单地显示我* let say *数据库和我的移动应用程序中的所有数据* let say * iOS,那里我可以从JSON操作数据?我的理解现在是否正确? –

+0

JSON将包含您放入的任何数据。如果将数据库中的所有数据都放入数据库中,那么它将包含数据库中的所有数据。如果您将它发送到在iOS下运行的应用程序,并且已经编写了该应用程序来操作该数据,那么它可以操纵该数据。 – Quentin

类型的所有,这可能是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 
}); 

寻找过去的无效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]会给我们正确的答案。