76 votes

Comment créer un objet JSON à l'aide de jQuery ?

J'ai un objet JSON dans le 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 veux créer un objet JSON dynamique.

202voto

Tim Points 4263

Il suffit de mettre vos données dans un objet comme ceci :

var myObject = new Object();
myObject.name = "John";
myObject.age = 12;
myObject.pets = ["cat", "dog"];

Ensuite, il faut le ficeler via :

var myString = JSON.stringify(myObject);

Vous n'avez pas besoin de jQuery pour cela. C'est du pur JS.

31voto

dystroy Points 145126

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 voulez convertir votre objet javascript en une chaîne json, utilisez JSON.stringify(yourObject) ;

Si vous voulez créer un objet javascript, faites-le simplement comme ceci :

var yourObject = {
          test:'test 1',
          testData: [ 
                {testName: 'do',testId:''}
          ],
          testRcd:'value'   
};

5voto

Je crois qu'il demande d'écrire le nouveau json dans un répertoire. Vous aurez besoin de Javascript y PHP. Donc, pour faire suite aux 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
?>

1voto

engrmukul Points 21

Comment obtenir la valeur du champ d'entrée de l'appendice comme json ?

temp:[
        {
           test:'test 1',
           testData:  [ 
                       {testName: 'do',testId:''}
                         ],
           testRcd:'value'                             
        },
        {
            test:'test 2',
           testData:  [
                            {testName: 'do1',testId:''}
                         ],
           testRcd:'value'                           
        }
      ],

0voto

Thamaraiselvam Points 4282

Emboîté JSON objet

var data = {
        view:{
            type: 'success', note:'Updated successfully',
        },
    };

Vous pouvez analyser ceci data.view.type y data.view.note

JSON Objet et intérieur d'un tableau

var data = {
          view: [ 
                {type: 'success', note:'updated successfully'}
          ],  
     };

Vous pouvez analyser ceci data.view[0].type y data.view[0].note

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X