【问题标题】:How to do a 'stripslashes' equivalent in BrightScript如何在 BrightScript 中执行“stripslashes”等效项
【发布时间】:2019-02-27 13:53:54
【问题描述】:

我是 Roku 新手,发现我的 JSON 提要响应如下所示:

http:\/\/brightcove.vo.llnwd.net\/e1\/pd\/12345\/12345_1089831707001_test.mp4

谁能帮我弄清楚如何修复 BrightScript 中的 JSON 响应?我现在正在浏览 BrightScript 参考文档,但只是想看看是否有人知道一种简单的方法来做到这一点,同时我继续将它拼凑起来。

谢谢!

【问题讨论】:

    标签: roku brightscript


    【解决方案1】:

    经过一番研究,我找到了我需要的解决方案。万一这对其他人有帮助,这是我为修复字符串而编写的函数:

    Function fixSlashes(item as string) As Object
    r = "\\" 'backslash character
    
    'case insensitive
     regexKeyFix = CreateObject( "roRegex", r, "i" )
    
        item = regexKeyFix.ReplaceAll( item, "" )
        Return item
    End Function
    

    这是我为此找到的documentation 的链接。

    【讨论】:

    • 可能想要返回一个对象的字符串插入,函数 fixSlashes(item as string) 作为字符串
    • 谢谢!我在发帖后想到了这个:)
    【解决方案2】:

    您可以将Replace 用作简单方法

    替换(从作为字符串,到作为字符串)作为字符串

    返回字符串的副本,其中 fromStr 的所有实例都替换为 toStr。如果 fromStr 为空,则返回值与源字符串相同。

    BrightScript Debugger> str = "http:\/\/brightcove.vo.llnwd.net\/e1\/pd\/12345\/12345_1089831707001_test.mp4"
    BrightScript Debugger> ?item.Replace("\","")
    http://brightcove.vo.llnwd.net/e1/pd/12345/12345_1089831707001_test.mp4
    

    【讨论】:

    • FWIW,现在只需要在上面做parseJSON()就可以去掉多余的“\”。这些是由 PHP 添加的,有一些荒谬的原因,我忘记了,但 JSON 规范没有强制要求 - 如果字符串被滥用等,则与浏览器安全有关。
    猜你喜欢
    • 2014-03-23
    • 1970-01-01
    • 2011-01-21
    相关资源
    最近更新 更多