【问题标题】:JSON Data String Replacement and Date FormattingJSON 数据字符串替换和日期格式
【发布时间】:2012-04-28 00:15:38
【问题描述】:

我对 JSON 和 JavaScript 还很陌生,所以如果我似乎没有做足够的研究,我深表歉意。参考以下链接:

http://jsbin.com/imekip/edit#javascript,live

我想知道如何修改代码来自:

我们的下一场演出将于 2012 年 4 月 18 日在美国加利福尼亚州旧金山的菲尔莫尔举行

收件人:

我们的下一场演出将于 5 月 4 日在旧金山菲尔莫尔举行

非常感谢您。

【问题讨论】:

  • 您应该添加一些代码,否则您似乎只需将字符串从 A 更改为 B。
  • 嗨 Felix Kling,如果链接不正确,我很抱歉,我认为这可能会更容易。我要替换的链接部分是“
  • 我们的下一场演出是在 {venue.displayName}, {location.city} on {start.date}
  • ", 项目));'

标签: javascript json jsonp


【解决方案1】:

需要一些代码来完成 1)在每个循环中,您必须存储日期变量并使用日期对象将每个月的名称分配给月份的编号 2)还检查使用一些字符串函数将日期转换为字符串 3)最少但不是最后,必须剪切位置直到第一个逗号出现,我使用了 split 功能,因为您可以在其他情况下使用字符串的其余部分 完整的工作演示在这里 http://jsfiddle.net/theodore/WrCLW/2/

【讨论】:

  • 嗨西奥多。感谢演示,它真的很有帮助。您是否可以使用外部数据源做另一个 jsfiddle?例如lofiz.co.uk/afba/songkickwidget/testjsondata.json 谢谢!
  • 你的 Json 结果有一个错误,第 1 行解析错误: getJSON 函数api.jquery.com/jQuery.getJSON
  • 我更正了 JSON,该链接现在应该没问题了。我一直在搞乱getJSON,但我似乎无法开始工作。很抱歉让您感到痛苦,但如果您能再帮我看一下您的演示,我将不胜感激。谢谢。
【解决方案2】:

HTML

<ul id="ulId">
    <li>Our next gig is at 
        <a href='#'>
            The Fillmore, San Francisco, CA, US on 2012-05-18
        </a>
    </li>
    <li>Our next gig is at 
        <a href='#'>
            The Fillmore, San Francisco, CA, US on 2012-10-15
        </a>
    </li>
</ul>

JS

var months=['January','February','March','April','May', 'June', 'July', 'August','September','October','November','December'];
var rgx = /(\d{4})-(\d{2})-(\d{2})/;
function changeDate(ul)
{
    for(i=0;i<ul.childNodes.length;i++)
    {
        if(ul.childNodes[i].tagName=="LI")
        {
            var link=ul.childNodes[i].getElementsByTagName('a')[0];
            var txt=link.innerHTML;
            var r = txt.match(rgx);
            var dateArr=r[0].split('-');
            var m= parseInt(dateArr[1])-1;
            var d=dateArr[2];
            var dt= d+'th '+months[m];
            var final=txt.replace(r[0] ,dt);  
            link.innerHTML=final;
        }
    }
}
changeDate('ulId'); // call the function and pass the ul id as paremeter.

DEMO.

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签