对于 PHP/HTML 页面,向 JSON 添加数据的最简单方法是什么?我应该使用 PHP、JS 还是 jQuery?
我已经尝试了许多在网上找到的不同方法,但我无法得到任何工作。我已经尝试了所有这些,但我无法完全正确。
var myObject = new Object();
JSON.stringify()
JSON.parse()
$.extend();
.push()
.concat()
我已经加载了这个 JSON 文件
{"commentobjects":
[
{"thecomment": "abc"},
{"thecomment": "def"},
{"thecomment": "ghi"}
]
}
我想以编程方式添加
var THISNEWCOMMENT = 'jkl;
{"thecomment": THISNEWCOMMENT}
这样 JSON 变量将是
{"commentobjects":
[
{"thecomment": "abc"},
{"thecomment": "def"},
{"thecomment": "ghi"},
{"thecomment": "jkl"}
]
}
///////////////// 回答后编辑 ////////////////
这是我用来调用 PHP 函数的 index.php 文件中的 ajax(在其单独的文件中):
function commentSaveAction ()
{
var mytext = $(".mycommentinput").val();
mytext = mytext.replace("\"","'");
$.ajax({
url: 'php/commentwrite.php',
data: { thePhpData: mytext },
success: function (response) {
}
});
}
这是我在 deceze 的帮助下使用的完成的 PHP 函数:
<?php
function writeFunction ()
{
$filename = '../database/comments.txt';
$arr = json_decode(file_get_contents($filename),true);
$myData = $_GET['thePhpData'];
$arr['commentobjects'][] = array('thecomment' => $myData);
$json = json_encode($arr);
$fileWrite=fopen($filename,"w+");
fwrite($fileWrite,$json);
fclose($fileWrite);
}
writeFunction ();
?>
/////////////////// 使用 JS 而不是 PHP //////////////////
var myJsonData;
function getCommentData ()
{
$.getJSON('database/comments.txt', function(data) {
myJsonData = data;
var count = data.commentobjects.length;
for (i=0;i<count;i++) {
$(".commentbox ul").append("<li>"+data.commentobjects[i].thecomment+"</li>");
}
});
}
function commentSaveAction ()
{
var mytext = $(".mycommentinput").val();
mytext = mytext.replace("\"","'");
myJsonData.commentobjects.push({"thecomment": mytext});
var count = myJsonData.commentobjects.length;
$(".commentbox ul").append("<li>"+myJsonData.commentobjects[count-1].thecomment+"</li>");
}