0

JSONについて混乱しています。

この JSON データ (既に解析済み) を php から取得しました。

    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"}

これらは 1 つの変数内の分離された配列です。

私はそれらをこのように作りたいのですが、

    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 モバイル (iOS) を開発しています。PHP は JSON データを次のように送信します。

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

※$responses は 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問題見に来た方ごめんなさい。

4

2 に答える 2

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];
于 2012-05-14T07:39:47.720 に答える
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';

于 2012-05-14T07:40:43.133 に答える