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 ();
?>
////////////////////// PHP ではなく JS を使用 /////////////////////
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>");
}