如何将一个变量中的一些json数组拆分成不同的变量? (JavaScript)的

时间:2012-05-14 07:20:49

标签: javascript arrays json split

我对JSON感到困惑。

我从php获得了这个JSON数据(已经解析过);

    var json =
    {"id":"1", "name":"AAA", "sex":"m", "age":"20", "region":"X"}
    {"id":"2", "name":"BBB", "sex":"m", "age":"25", "region":"Y"}
    {"id":"3", "name":"CCC", "sex":"f", "age":"30", "region":"Z"}
    {"id":"4", "name":"DDD", "sex":"m", "age":"35", "region":"Q"}

这些是一个var。

中的分隔数组

我想让他们像这样,

    var json1 = {"id":"1", "name":"AAA", "sex":"m", "age":"20", "region":"X"}
    var json2 = {"id":"2", "name":"BBB", "sex":"m", "age":"25", "region":"Y"}
    var json3 = {"id":"3", "name":"CCC", "sex":"f", "age":"30", "region":"Z"}
    var json4 = {"id":"4", "name":"DDD", "sex":"m", "age":"35", "region":"Q"}

我目前正在使用PHP开发Titanium mobile(iOS)。 和PHP发送这样的JSON数据;

    foreach($responses as $response)
    {
        echo encode_json($response);
    }

※$ response是sql order的结果。

现在Titanium方面,Titanium文件将接收并解析它。

    Req.onload = function()
    {
        var json = JSON.stringify(this.responseText);
        var response = JSON.parse(json);
        Ti.API.info(response);
    }

Ti.API.info在控制台上说;

    [INFO] {"id":"1", "name":"AAA", "sex":"m", "age":"20", "region":"X"}{"id":"2", "name":"BBB", "sex":"m", "age":"25", "region":"Y"}{"id":"3", "name":"CCC", "sex":"f", "age":"30", "region":"Z"}{"id":"4", "name":"DDD", "sex":"m", "age":"35", "region":"Q"}
    //as I wrote it above

我很抱歉那些人看到JS问题但是Titanium。

2 个答案:

答案 0 :(得分:3)

你的意思是这样的吗?:

var json =
    {"id":"1", "name":"AAA", "sex":"m", "age":"20", "region":"X"}
    {"id":"2", "name":"BBB", "sex":"m", "age":"25", "region":"Y"}
    {"id":"3", "name":"CCC", "sex":"f", "age":"30", "region":"Z"}
    {"id":"4", "name":"DDD", "sex":"m", "age":"35", "region":"Q"}

var json1 = json[0];
var json2 = json[1];
var json3 = json[2];
var json4 = json[3];

答案 1 :(得分:3)

如果您的第一个json实际上是这样的数组:

var json = [
    {"id":"1", "name":"AAA", "sex":"m", "age":"20", "region":"X"},
    {"id":"2", "name":"BBB", "sex":"m", "age":"25", "region":"Y"},
    {"id":"3", "name":"CCC", "sex":"f", "age":"30", "region":"Z"},
    {"id":"4", "name":"DDD", "sex":"m", "age":"35", "region":"Q"}
];

然后您可以将数组拆分为单个变量,如下所示:

for(var i=0,l=json.length;i<l;i++)
    window['json' + (i+1)] = json[i];

请注意,可以通过将该名称附加到窗口对象(var foo = 'bar')来完成在全局范围内声明变量(如window['foo'] = 'bar';);