从javascript中获取/构造静态本地文件系统json内容的最佳方法
Best way to get/structure statical local file system json content from javascript
我正在制作一个简单的javascript应用程序,需要在本地运行(在没有互联网的CD上),它基本上是一个增强的图片库。有很多文件需要"加载",所以我把文件放在json格式,像这样:
{
number: 338,
images:
[
{
picture_path : "path/file.png",
place : "Brazil",
metadata : "...",
},
{
...
}
]
}
我的问题是,我如何获得和构建这些数据?是否有一个Jquery getJSON本地方法/解析器?似乎我可以重新解析json使用javascript eval,但我怎么能得到的内容??此外,是否有一种方法可以找到有关给定结构数据的信息,例如,假设我想要来自"巴西"的所有图片。
我想嵌入一个php服务器和阅读,但我认为这是太麻烦.....
如果只是处理CD,为什么不更进一步,将JSON数据结构赋值给JavaScript变量,直接跳过JSON呢?你可以这样做:
var IMAGES = {
number: 338,
images:
[
{
picture_path : "path/file.png",
place : "Brazil",
metadata : "...",
},
{
...
}
]
};
那么你不需要解析任何东西,浏览器的JavaScript引擎会为你做解析。
为了解决使用jquery直接从磁盘读取json的问题,getJSON支持这个;从他们的文档http://api.jquery.com/jQuery.getJSON/
$.getJSON('data/images.json', function(data) {
// you asked a question regarding retrieving all images from place === "Brazil"
// so we'll store said images in this array
var picturesFromBrazil = new Array();
// you want to iterate through the array of images, so we're reference them here
var images = val.images;
// iterate through your images array
$.each(images, function(key, val) {
// your data, as described, is an array, where each element is a dictionary
/*
{
number: 338,
images:
[
{
picture_path : "path/file.png",
place : "Brazil",
metadata : "...",
},
{
...
}
]
}
*/
// question: is there a way to find info on the given structure data, for instance,
// support that I want all pictures from "Brazil"
if (val.place === "Brazil" && val.picture_path !== undefined) {
picturesFromBrazil.push(val.picture_path);
}
});
也许你应该缓存所有的文件在不同的结构化json文件(全部来自巴西…),因为这并不重要,如果你找到一个函数,将实现你正在寻找的,该函数将解析所有的json内容到一个数组,然后输出你需要的。
我的意见是你保存在多个有组织的json文件中,你只加载你需要的,或者你保存在一个文件中,但每次你想要显示的东西,你必须创建一个数组,然后在其中循环
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 不显示带有本地json文件数据的谷歌地图脚本
- 可以't使用Appcelerator将JSON文件解析为JavaScript中的TableView
- 加载两个具有相同父密钥名称的json文件
- 使用JSON文件中的变量(字符串)填充文本区域
- 动态显示JSON文件内容
- 正在尝试将JSON文件放入JS数组
- 如何检查Json文件更新,如果更新了,则用更新的数据刷新我的页面
- 单击按钮更改加载到表中的JSON文件
- 处理一个JSON文件;完全相同的副本不是
- 无法加载存储在系统中本地的 JSON 文件
- 使用 Node.js 将文件系统中的目录结构转换为 JSON
- 如何从本地系统加载 JSON 文件并分配给某个变量
- 在JSON中模拟文件系统
- 系统无法找到JSON文件
- 从javascript中获取/构造静态本地文件系统json内容的最佳方法
- 在本地系统中使用jQuery加载和解析JSON文件
- 在本地系统中使用jQuery/Javascript加载JSON文件
- 是否可以使用phonegap'创建并存储json文件;s文件系统和javascript