Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript向API JSON数组添加或推送多个JSON对象_Javascript_Php_Html_Json_Ajax - Fatal编程技术网

使用javascript向API JSON数组添加或推送多个JSON对象

使用javascript向API JSON数组添加或推送多个JSON对象,javascript,php,html,json,ajax,Javascript,Php,Html,Json,Ajax,我有一个CSV文件,其中包含已转换为JSON的数据。现在我正试图弄清楚如何将多个JSON对象发送到API JSON数组中。我目前正在使用ractive作为我的框架工具。通过单击“发送JSON数据”按钮添加JSON对象 CSV到JSON的转换 <html> <body> <?php function csvToJson($fname) { if (!($fp = fopen($fname, 'r') )) {

我有一个CSV文件,其中包含已转换为JSON的数据。现在我正试图弄清楚如何将多个JSON对象发送到API JSON数组中。我目前正在使用ractive作为我的框架工具。通过单击“发送JSON数据”按钮添加JSON对象

CSV到JSON的转换

<html>

<body>

<?php 

    function csvToJson($fname) {
        if (!($fp = fopen($fname, 'r') )) {
            die("Can't open file");
        }

        $key = fgetcsv($fp, "1024", ",");

        $json = array();
            while ($row = fgetcsv($fp, "1024", ",")) {
                $json[] = array_combine($key, $row);
        }

        fclose($fp);

        foreach ( $json as $k=>$v ) {


            $json[$k]['dateRequested']     = $json[$k]['DATE']; 
            $json[$k]['assignedAgent']     = $json[$k]['AGENT'];
            $json[$k]['finalCompanyName']  = $json[$k]['COMPANY NAME'];
            $json[$k]['unitNumber']        = $json[$k]['UNIT'];
            $json[$k]['floorNumber']       = $json[$k]['FLOOR_LEVEL'];
            $json[$k]['buildingName']      = $json[$k]['BUILDING NAME'];
            $json[$k]['streetNumber']      = $json[$k]['NUMBER'];
            $json[$k]['streetName']        = $json[$k]['STREET'];
            $json[$k]['subdivisionName']   = $json[$k]['SUBDIVISION_COMPOUND_VILLAGE'];
            $json[$k]['barangayName']      = $json[$k]['BARANGAY'];
            $json[$k]['districtNum']       = $json[$k]['DISTRICT'];
            $json[$k]['cityMunicipality']  = $json[$k]['CITY_MUNICIPALITY'];
            $json[$k]['provinceName']      = $json[$k]['PROVINCE'];
            $json[$k]['region']            = $json[$k]['REGION'];
            $json[$k]['area']              = $json[$k]['AREA'];
            $json[$k]['longitude']         = $json[$k]['LONGITUDE'];
            $json[$k]['latitude']          = $json[$k]['LATITUDE'];
            $json[$k]['secRanking']        = $json[$k]['Sec Ranking'];
            $json[$k]['affiliate']         = $json[$k]['Affiliates'];
            $json[$k]['profiling']         = $json[$k]['Profiling'];
            $json[$k]['contactNumber']     = $json[$k]['CONTACT NUMBER'];
            $json[$k]['industry']          = $json[$k]['INDUSTRY']; 
            $json[$k]['amAssigned']        = $json[$k]['AM ASSIGNED'];
            $json[$k]['source']            = $json[$k]['SOURCE'];
            $json[$k]['gbu']               = $json[$k]['GBU'];
            $json[$k]['retention']         = $json[$k]['RETENTION'];
            $json[$k]['sec']               = $json[$k]['SEC'];
            $json[$k]['tier']              = $json[$k]['TIER'];
            $json[$k]['acqui']             = $json[$k]['ACQUI'];
            $json[$k]['finalReco']         = $json[$k]['FINAL RECO'];
            $json[$k]['remarksFindings']   = $json[$k]['FINAL REMARKS'];

            unset($json[$k]['DATE']);
            unset($json[$k]['AGENT']);
            unset($json[$k]['COMPANY NAME']);
            unset($json[$k]['UNIT']);
            unset($json[$k]['FLOOR_LEVEL']);
            unset($json[$k]['BUILDING NAME']);
            unset($json[$k]['NUMBER']);
            unset($json[$k]['STREET']);
            unset($json[$k]['SUBDIVISION_COMPOUND_VILLAGE']);
            unset($json[$k]['BARANGAY']);
            unset($json[$k]['DISTRICT']);
            unset($json[$k]['CITY_MUNICIPALITY']);
            unset($json[$k]['PROVINCE']);
            unset($json[$k]['REGION']);
            unset($json[$k]['AREA']);
            unset($json[$k]['LONGITUDE']);
            unset($json[$k]['LATITUDE']);
            unset($json[$k]['Sec Ranking']);
            unset($json[$k]['Affiliates']);
            unset($json[$k]['Profiling']);
            unset($json[$k]['CONTACT NUMBER']);
            unset($json[$k]['INDUSTRY']);
            unset($json[$k]['AM ASSIGNED']);
            unset($json[$k]['SOURCE']);
            unset($json[$k]['GBU']);
            unset($json[$k]['RETENTION']);
            unset($json[$k]['SEC']);
            unset($json[$k]['TIER']);
            unset($json[$k]['ACQUI']);
            unset($json[$k]['FINAL RECO']);
            unset($json[$k]['FINAL REMARKS']);

        }

        return json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);

    }

 ?>



<?php
$json_data = csvToJson("lms.csv");
?>
<div id="container">

</div>


<script src="https://cdnjs.cloudflare.com/ajax/libs/ractive/0.9.0-build-48/ractive.js"></script>


<script id="template" type="text/ractive">
     <a class="button cta" on-click="addData">Send JSON Data</a>
</script>

<script type="text/javascript">

var app = new Ractive({
    el       : '#container',
    template : '#template',
});

var proxy       = 'http://192.168.1.126/lms-dev-noel/proxy.php';
var endpoint    = 'account/leads/';
var rt          = 'POST';
var url         = proxy+'?endpoint='+endpoint+'&rt='+rt;

var lms_json    = <?php echo json_encode($json_data); ?>;

var jobjects = JSON.parse(lms_json);
console.log(jobjects)




app.on('addData', function(event) {
    $.ajax({
        type     : 'POST',
        url      : url,
        data     : jobjects,
        dataType : 'json',
        success  : function() {
            console.log(jobjects);
        },
        error    : function(error) {
            console.log('Error')
        }

    })

})


</script>

</body>

</html>


JSON只是一个符号,它不会改变任何东西。解析JSON字符串后,您应该能够像往常一样在所需的键上推送对象/值

array[key].push(object);
例如:

jobjects['myKey1']['myKey2'].push({"key1":"value1", "key2":"value2"});

ref:

有点模棱两可,请确认是否只希望json对象位于数组中?类似于[jobjects,jobjects,jobjects….]的内容是的,基本上我试图在数组中添加或推送JSON对象;在成功处理程序中,您可以将结果对象推送到这个数组中,arr.push[jobjects];如果我想将JSON对象推送到API JSON数组中该怎么办。