如何阅读3个json响应就像一个

时间:2011-06-20 03:17:17

标签: json

我有3个调用json响应的函数

功能一给出:

{
    "IT_INFO": {
        "CARNET": "999250 ",
        "CEDULA": "000013724224",
        "NOMBRE": "pedro ",
        "SEGNOMBRE": "salomon ",
        "APELLIDO": "Perez ",
        "SEGAPELLIDO": "Perza ",
        "EMAIL": "mail@mailexample.com ",
        "IAP": "0.00",
        "IAA": "0.00"
    }
}

第二个功能:

{
    "HISTORICOP": [
        {
            "MATERIA": "PROCESOS DEL LENGUAJE ",
            "NOTA": "7 ",
            "ANIO": "2000",
            "PERIODO": "001",
            "ENEMENOSUNO": "Ordinaria. Estado por defecto "
        }
    ]
}

第三功能:

{
    "HORARIO": [
        {
            "CODIGO": "BERSP01 ",
            "MATERIA": " COMPUTADOR ",
            "AULA": "A1-102 ",
            "PROFESOR": "Quintero Moros, Nelson ",
            "HORARIO": "TU WE FR 08:00-10:00 "
        }
    ]
}

它应该怎么出来让函数JSON.parse(str)读出来?

str = [func1,func2,func3] ??

str = [[func1],[func2],[func3]]?

或???任何想法???

1 个答案:

答案 0 :(得分:1)

我假设您在JavaScript中解析JSON。

通常你不应该“手动”构建JSON,但在这种情况下它似乎并不太糟糕:

var objs = JSON.parse('[' + [func1(), func2(), func3()].join(',') + ']');

这将创建一个JSON数组,其中包含函数返回的三个对象。

或者,您可以单独解析响应:

var objs = [func1(), func2(), func3()];
for(var i = objs.length; i--; ) {
   objs[i] = JSON.parse(objs[i]);
}

当然,如果函数没有返回JSON但是发出一些Ajax请求,你必须以不同的方式做事......