重新格式化从api回调字符串接收的数据

时间:2015-04-10 08:53:11

标签: php jquery ajax curl

我从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 = 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

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

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

我如何单独提取以下内容:

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

例如,在我的输出中,我想设置一个变量,最终得到" www.thawte.com"以及上述各项的单独变量。

1 个答案:

答案 0 :(得分: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']);
});