首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为SIMILE的Timeline小部件解析JSON并对其进行自定义

为SIMILE的Timeline小部件解析JSON并对其进行自定义
EN

Stack Overflow用户
提问于 2010-09-18 07:04:34
回答 4查看 1.9K关注 0票数 1

我有一个有效的JSON数据集:

代码语言:javascript
复制
[
    {
        "date": "2008-02-04 19:30:00", 
        "authors": [
            {
                "first_name": "Nassim Nicholas", 
                "last_name": "Taleb"
            }
        ], 
        "icon": "djlongnow_media/seminar_icons/salt-020080204-taleb.jpg", 
        "slug": "the-future-has-always-been-crazier-than-we-thought", 
        "title": "The Future Has Always Been Crazier Than We Thought"
    }, 
    {
        "date": "2008-01-11 19:30:00", 
        "authors": [
            {
                "first_name": "Paul", 
                "last_name": "Saffo"
            }
        ], 
        "icon": "djlongnow_media/seminar_icons/salt-020080111-saffo.jpg", 
        "slug": "embracing-uncertainty-the-secret-to-effective-forecasting", 
        "title": "Embracing Uncertainty: the secret to effective forecasting"
    }, 
    {
        "date": "2007-12-14 19:30:00", 
        "authors": [
            {
                "first_name": "Jon", 
                "last_name": "Ippolito"
            }, 
            {
                "first_name": "Joline", 
                "last_name": "Blais"
            }
        ], 
        "icon": "djlongnow_media/seminar_icons/salt-020071214-blais-ippolito.jpg", 
        "slug": "at-the-edge-of-art", 
        "title": "At the Edge of Art"
    },
]

我想把它提供给SIMILE Timeline js项目:http://www.simile-widgets.org/timeline/,它希望JSON采用以下格式:

代码语言:javascript
复制
[
        {
            "title" : "The Dark Knight",
            "start" : "2008-07-18",
            "link" : "http://www.imdb.com/title/tt0468569/",
            "icon" : "http://m001.blogmatrix.net/silk_icons/film.png",
            "description" : "Why So Serious?"
        },
        {
            "title" : "The X-Files: I Want to Believe",
            "start" : "2008-12-02",
            "link" : "http://www.imdb.com/title/tt0443701/",
            "icon" : "http://m001.blogmatrix.net/silk_icons/film.png",
            "description" : "Six years after the events of The X-Files series finale, former FBI agent Doctor Dana Scully is now a staff physician at Our Lady of Sorrows, a Catholic hospital, and treating a boy named Christian who has Sandhoff disease, a terminal brain condition. FBI agent Drummy arrives to ask Scully's help in locating Fox Mulder, the fugitive former head of the X-Files division, and says they will call off its manhunt for him if he will help investigate the disappearances of several women, including young FBI agent Monica Banan. Scully agrees and convinces Mulder who is living in a nearby small home, bearded and clipping newspaper articles about the paranormal to help, despite Mulder's initial misgivings that this is an FBI trick to capture him."
        },
        {
            "title" : "Hancock",
            "start" : "2008-11-25",
            "link" : "http://www.imdb.com/title/tt0448157/",
            "icon" : "http://m001.blogmatrix.net/silk_icons/film.png",
            "description" : "John Hancock (Will Smith) is an unhappy and reluctant superhero who is living in his own world. For some unknown reason, Hancock is depressed and has started drinking very heavily. He has saved many lives in Los Angeles over the years, but in doing so, he has no regards for damaging buildings, trains, roads, cars, or anything that gets in his way of getting the job done. The last time he captured several criminals, it cost the city $9 million to fix the damages. The public has had enough of Hancock, and they want him to stop or go to another city. Then one day, Hancock saves the life of Ray Embrey (Jason Bateman) from being run over by a train. Ray is a public relations executive who now can go home to his wife and child, because Hancock was there. Ray owes Hancock his life, and he makes it his mission to change his superhero's image and have the public cheering him. Ray's wife, Mary (Charlize Theron), believes Hancock cannot be fixed, and she doesn't want Ray to be hurt. Douglas Young (the-movie-guy)"
        }
]

根据我的理解,我将不得不使用JS (或者可能是一个更容易的框架,比如jQuery)首先解析这个文件(在我绘制SIMILE小部件/代码之前),并重新格式化数据以适应SIMILE的格式。

问题是,我不确定该怎么做。这种转换会在浏览器中发生吗?我如何调用它(最终的JSON结果)?

我正在使用django-piston生成我的JSON (基于我的模型)。也许为活塞制作自定义模板会更容易/更好?

EN

回答 4

Stack Overflow用户

发布于 2010-09-18 07:51:11

也许为活塞制作自定义模板会更容易/更好?

同意

票数 0
EN

Stack Overflow用户

发布于 2010-09-18 08:17:08

你不需要jQuery。您所需要的就是Crockford JSON解析器。获取它(http://www.json.org/)。这将把JSON响应转换成一个有效的JavaScript对象。以您喜欢的方式处理该对象并创建另一个对象,然后使用相同的脚本生成JSON字符串。

如果你已经有了jQuery,它可以让你的生活变得更轻松。使用$.getJSON发出AJAX请求,同时解析JSON文件。要发送数据,请使用数据类型为" JSON“的AJAX函数,并为新的JSON对象提供数据。

票数 0
EN

Stack Overflow用户

发布于 2010-09-18 14:05:10

代码语言:javascript
复制
var _forMattedJsonForTimeLine=[];
jQuery.each(_yourCurrentUnFormattedJson,function(index,item){
      var _entry={};
      _entry.title=item.title;
      _entry.start=item.date;
      _entry.link=link// i dint found this in your json
      _entry.icon=item.icon;
      _entry.description=item.slug;

      _forMattedJsonForTimeLine.push(_entry);
});

your json is ready here
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3739653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档