【问题标题】:reformatting data received from api callback string重新格式化从 api 回调字符串接收到的数据
【发布时间】:2015-04-10 08:53:11
【问题描述】:

我从 php/curl 回调接收到 api 并使用 jquery if 语句输出某些数据。

对于一个特定的回调字符串,数据返回如下:

response.endpoints[0].details.cert.subject

上述字符串的值为:

CN=www.thawte.com,OU=基础设施运营,2.5.4.5=#130733383938323631,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,L=Mountain View,ST=加利福尼亚,C=US,O=Thawte, 1.3.6.1.4.1.311.60.2.1.2=#0c0844656c6177617265,1.3.6.1.4.1.311.60.2.1.3=#13025553

我希望能够实现的是提取该字符串的某些部分,而不是显示整个值。

以下是总是会出现的固定值,但我不想要其余的东西..

如何分别提取以下位:

  • CN=值
  • OU=值
  • L=值
  • ST=值
  • C=值

例如,在我的输出中,我想设置一个以“www.thawte.com”结尾的变量,并为上述每个设置一个单独的变量。

【问题讨论】:

    标签: php jquery ajax curl


    【解决方案1】:

    你需要像这样在另一个 foreach 中使用 foreach:

    $(function(){
        var valData= "CN=www.thawte.com,OU=Infrastructure Operations,2.5.4.5=#130733383938323631,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,L=Mountain View,ST=California,C=US,O=Thawte, Inc.,1.3.6.1.4.1.311.60.2.1.2=#0c0844656c6177617265,1.3.6.1.4.1.311.60.2.1.3=#13025553";
    
        var valNew=valData.split(/,(?=\S)/);
        var valArray_unprep = [];
        var valArray_prep = [];
    
        for(var i=0;i<valNew.length;i++){
    
        var valArray_unprep = valNew[i].split('=');
    
            for(var ii=0;ii<valArray_unprep.length;ii++)
                valArray_prep[valArray_unprep[0]] = valArray_unprep[1];
    
        }
     console.log(valArray_prep);    
    
        alert(valArray_prep['CN']);
        alert(valArray_prep['L']);
    });
    

    【讨论】:

    • 如果我像你一样明确设置值似乎可以工作,但我需要引用 typeof 字符串。我试过这个,但我在 Web 控制台中收到错误“TypeError: valData.split is not一个函数”.. 使用这个有问题吗:var valData= parseInt(response.endpoints[0].details.cert.subject);
    • 我还应该提到我是否这样做 window.alert(response.endpoints[0].details.cert.subject);我确实得到了完整的价值,所以我知道它是正确的字符串..
    • 没关系它在没有 parseInt() 的情况下工作..就像这样:var valData= response.endpoints[0].details.cert.subject;
    • 座右铭,发现您的代码存在一个问题。例如,O=Thawte, Inc 被缩短并且 ,Inc 被分离。最终结果是“Thawte”,但“,Inc”是价值的一部分。不知道我们能不能做点什么?
    • @user3436467 好的,我添加了一个正则表达式,用于在拆分前检查空格。再试一次。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-17
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    相关资源
    最近更新 更多