如何使用键从JSON中获取列中的特定数据

时间:2016-08-31 04:31:57

标签: json sqlite cordova

我不知道如何借助密钥从JSON中获取列中的特定数据。从ajax请求我从服务器获取数据,但我想将其存储在sqlite中作为服务器中的列

$("#xxx").click(function()
{

    var e = $("#mob").val();
    var p = $("#key").val();
    myDB.transaction(function(transaction)
    {
        transaction.executeSql('CREATE TABLE IF NOT EXISTS User_data (data)', [],
        function(tx, result)
        {
            navigator.notification.alert("table created");
        }, 
        function(error)
        {
            navigator.notification.alert("error, table exists");
        });
    });

    $.ajax
    ({
        url: "http://192.168.1.4/sms/android.php",
        type: "GET",
        datatype: "json",
        data: { type:'login', phone: e, name: p },
        ContentType: "application/json",
        success: function(response)
        {

            var valuesInArray = JSON.stringify(response);
            var user_data = JSON.parse(valuesInArray);
            for(var item in user_data.Users)
            {
                myDB.transaction(function(transaction)
                {
                    transaction.executeSql('INSERT INTO User_data (id,date_closed) VALUES (item.id,item.date_closed)', [],
                    function(tx, result)
                    {
                        navigator.notification.alert("data inserted");
                    }, 
                    function(error)
                    {
                        navigator.notification.alert("error, table exists");
                    });
                });
            }   
        },
        error: function(e)
        {

            alert('Got ERROR: ' + JSON.stringify(e));
        }
    });
});

这是我从服务器获取的数据的图像 DATA IN ALERT BOX

在这里,我想获取数据库中的每一列。 提前谢谢。

<?php
header('Access-Control-Allow-Origin:*');
pg_connect("host=localhost port=5432 dbname=** user=** password=***");
if(isset($_GET['type']))
{
    if($_GET['type'] == "login")
    {
        $mobile = $_GET['phone'];
        $key = $_GET['name'];

        $query = "select * from crm_lead where phone='$mobile' and id='$key'";

        $result = pg_query($query);

        while($myrow = pg_fetch_assoc($result))
        {
            $recipes[]=$myrow;
        }

        $output = json_encode(array('Users' => $recipes));
        echo "'".$output."';";
    }
}
else
{
    echo "invalid";
}   
pg_close();

&GT;

2 个答案:

答案 0 :(得分:0)

$.ajax
    ({
        url: "http://182.70.240.81:82/sms/android.php",
        type: "GET",
        datatype: "json",
        data: { type: 'login', phone: 9770869868, name: 14 },
        ContentType: "application/json",
        success: function (response) {
            var simpleJson = JSON.parse(response);
            var shortName = 'db_test';
            var version = '1.0';
            var displayName = 'Test Information';
            var maxSize = 65536; // in bytes
            var db = openDatabase(shortName, version, displayName, maxSize);
            db.transaction(function (txe) {
                txe.executeSql('DROP TABLE User_data');
                txe.executeSql('CREATE TABLE User_data(id INTEGER,date_closed TEXT)');
                db.transaction(function (txe1) {
                    for (var i = 0; i < simpleJson.Users.length; i++) {

                        txe1.executeSql('INSERT INTO User_data (id,date_closed) VALUES (' + simpleJson.Users[i].id + ',"' + simpleJson.Users[i].date_closed + '")', [],
                            function (tx, result) {
                                alert("data inserted");
                            },
                            function (error) {
                                alert("error, table exists");
                            });
                    }
                });
            });
        }
    });

从json中删除单个Qoutaion: Remove Single Qoutaion from your json

答案 1 :(得分:0)

为什么不能直接使用响应对象,因为它已经是Json对象了?

var users = response.Users;
for(var i=0; i < users.length;i++)
{    
    var id = users[i].id;
     //do something with id
}
相关问题