J'ai un objet JSON au format ci-dessous:
temp:[
{
test:'test 1',
testData: [
{testName: 'do',testId:''}
],
testRcd:'value'
},
{
test:'test 2',
testData: [
{testName: 'do1',testId:''}
],
testRcd:'value'
}
],
Comment puis-je créer un objet JSON dans jQuery pour le format ci-dessus. Je souhaite créer un objet JSON dynamique.
Il suffit de mettre vos données dans un objet comme celui-ci:
var myObject = new Object();
myObject.name = "John";
myObject.age = 12;
myObject.pets = ["cat", "dog"];
Ensuite, stringisez-le via:
var myString = JSON.stringify(myObject);
Vous n'avez pas besoin de jQuery pour cela. C'est pur JS.
Un "objet JSON" n'a pas de sens: JSON est un format d'échange basé sur la structure de la déclaration d'objet Javascript.
Si vous souhaitez convertir votre objet javascript en une chaîne json, utilisez JSON.stringify(yourObject)
;
Si vous voulez créer un objet javascript, procédez comme suit:
var yourObject = {
test:'test 1',
testData: [
{testName: 'do',testId:''}
],
testRcd:'value'
};
Je crois qu'il demande d'écrire le nouveau JSON dans un répertoire. Vous aurez besoin de Javascript et PHP. Donc, pour reprendre les autres réponses:
script.js
var yourObject = {
test:'test 1',
testData: [
{testName: 'do',testId:''}
],
testRcd:'value'
};
var myString = 'newData='+JSON.stringify(yourObject); //converts json to string and prepends the POST variable name
$.ajax({
type: "POST",
url: "buildJson.php", //the name and location of your php file
data: myString, //add the converted json string to a document.
success: function() {alert('sucess');} //just to make sure it got to this point.
});
return false; //prevents the page from reloading. this helps if you want to bind this whole process to a click event.
buildJson.php
<?php
$file = "data.json"; //name and location of json file. if the file doesn't exist, it will be created with this name
$fh = fopen($file, 'a'); //'a' will append the data to the end of the file. there are other arguemnts for fopen that might help you a little more. google 'fopen php'.
$new_data = $_POST["newData"]; //put POST data from ajax request in a variable
fwrite($fh, $new_data); //write the data with fwrite
fclose($fh); //close the dile
?>
Comment faire pour ajouter une valeur de champ d'entrée comme json
temp:[
{
test:'test 1',
testData: [
{testName: 'do',testId:''}
],
testRcd:'value'
},
{
test:'test 2',
testData: [
{testName: 'do1',testId:''}
],
testRcd:'value'
}
],
Objet JSON
imbriqué
var data = {
view:{
type: 'success', note:'Updated successfully',
},
};
Vous pouvez analyser ce data.view.type
et data.view.note
JSON
Object et inside Array
var data = {
view: [
{type: 'success', note:'updated successfully'}
],
};
Vous pouvez analyser ce data.view[0].type
et data.view[0].note