kzen.dev
  • Ερωτήσεις
  • Ετικέτες
  • Χρήστες
Ειδοποιήσεις
Ανταμοιβές
Εγγραφή
Μόλις εγγραφείτε, θα ενημερωθείτε για τις απαντήσεις και τα σχόλια στις ερωτήσεις σας.
Συνδεθείτε
Αν έχετε ήδη λογαριασμό, συνδεθείτε για να ελέγξετε τις νέες ειδοποιήσεις.
Θα υπάρξουν ανταμοιβές για πρόσθετες ερωτήσεις, απαντήσεις και σχόλια.
Περισσότερα
Πηγή
Επεξεργασία
Charles Wyke-Smith
Charles Wyke-Smith
Ερώτηση

Προσθήκη ενός νέου στοιχείου πίνακα σε ένα αντικείμενο JSON

Έχω ένα αντικείμενο μορφής JSON που διαβάζω από ένα αρχείο JSON το οποίο έχω σε μια μεταβλητή που ονομάζεται teamJSON και μοιάζει με αυτό:

 {"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"}]}

Θέλω να προσθέσω ένα νέο αντικείμενο στον πίνακα, όπως

{"teamId":"4","status":"pending"}

για να καταλήξουμε με

{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"},{"teamId":"4","status":"pending"}]}

πριν γράψετε πίσω στο αρχείο. Ποιος είναι ένας καλός τρόπος για να προσθέσετε στο νέο στοιχείο; Έφτασα κοντά, αλλά όλα τα διπλά εισαγωγικά αποφεύχθηκαν. Έψαξα για μια καλή απάντηση στο SO αλλά καμία δεν καλύπτει ακριβώς αυτή την περίπτωση. Κάθε βοήθεια είναι ευπρόσδεκτη.

109 2013-09-19T01:17:49+00:00 3
Προγραμματισμός
javascript
json
Δημοφιλή βίντεο
CS50 2014 - Week 9, continued
CS50 2014 - Week 9, continued
πριν 8 χρόνια
Ενημέρωση προσωπικών στοιχείων μέσω σύνδεσης με την υπηρεσία eGov-KYC | NBG
Ενημέρωση προσωπικών στοιχείων μέσω σύνδεσης με την υπηρεσία eGov-KYC | NBG
πριν 1 χρόνος
Ρωσο-ουκρανική κρίση: Μπρα ντε φερ Μόσχας και Δύσης με αβέβαιη κατάληξη | 22/01/2022 | ΕΡΤ
Ρωσο-ουκρανική κρίση: Μπρα ντε φερ Μόσχας και Δύσης με αβέβαιη κατάληξη | 22/01/2022 | ΕΡΤ
πριν 1 χρόνος
ΜΠΟΡΕΙΣ ΝΑ ΤΟ ΣΩΣΕΙΣ - 21 ΙΑΝΟΥΑΡΙΟΥ 2022
ΜΠΟΡΕΙΣ ΝΑ ΤΟ ΣΩΣΕΙΣ - 21 ΙΑΝΟΥΑΡΙΟΥ 2022
πριν 1 χρόνος
Ανείπωτη τραγωδία: Νεκρό μωρό με εγκαύματα - Συνελήφθησαν μητέρα και γιαγιά ΕΡΤ 21/1/2022
Ανείπωτη τραγωδία: Νεκρό μωρό με εγκαύματα - Συνελήφθησαν μητέρα και γιαγιά ΕΡΤ 21/1/2022
πριν 1 χρόνος
Δημιουργήστε και αποθηκεύστε ένα νέο ερώτημα που θα εμφανίζει όλα τα πεδία από τον πίνακα...
Δημιουργήστε και αποθηκεύστε ένα νέο ερώτημα που θα εμφανίζει όλα τα πεδία από τον πίνακα...
πριν 9 χρόνια
Πρέβεζα: Καθηγητής βρέθηκε νεκρός μέσα στο σπίτι του. 'Ηταν σε καραντίνα με ήπια συμπτώματα
Πρέβεζα: Καθηγητής βρέθηκε νεκρός μέσα στο σπίτι του. 'Ηταν σε καραντίνα με ήπια συμπτώματα
πριν 1 χρόνος
Πολιτική Προστασία: Στοίχημα να μείνουν ανοιχτοί οι δρόμοι
Πολιτική Προστασία: Στοίχημα να μείνουν ανοιχτοί οι δρόμοι
πριν 1 χρόνος
Το βίντεο ντοκουμέντο της ληστείας
Το βίντεο ντοκουμέντο της ληστείας
πριν 1 χρόνος
C# ASP.NET MVC Web App & API with React and TypeScript
C# ASP.NET MVC Web App & API with React and TypeScript
πριν 2 χρόνια
Νέες καταθέσεις ρίχνουν «φως» στην υπόθεση του ομαδικού βιασμού - Δ. Σβουρδάκου - Γ. Γλύκας
Νέες καταθέσεις ρίχνουν «φως» στην υπόθεση του ομαδικού βιασμού - Δ. Σβουρδάκου - Γ. Γλύκας
πριν 1 χρόνος
Προειδοποιούν με κινητοποιήσεις οι αγρότες της Κ. Μακεδονίας | 23/1/2022 | ΕΡΤ
Προειδοποιούν με κινητοποιήσεις οι αγρότες της Κ. Μακεδονίας | 23/1/2022 | ΕΡΤ
πριν 1 χρόνος
Στα λευκά η Νάξος – Πρωτόγνωρες εικόνες στις Κυκλάδες |  Αταίριαστοι | 24/1/2022
Στα λευκά η Νάξος – Πρωτόγνωρες εικόνες στις Κυκλάδες | Αταίριαστοι | 24/1/2022
πριν 1 χρόνος
Προσήχθη στην ΓΑΔΘ ένας από τους εμπλεκόμενους στον βιασμό της 24χρονης | 21/01/2022 | ΕΡΤ
Προσήχθη στην ΓΑΔΘ ένας από τους εμπλεκόμενους στον βιασμό της 24χρονης | 21/01/2022 | ΕΡΤ
πριν 1 χρόνος
Κακοκαιρία «Ελπίς» – Πολιτική Προστασία: Νέα σύσκεψη και οδηγίες προς τους πολίτες
Κακοκαιρία «Ελπίς» – Πολιτική Προστασία: Νέα σύσκεψη και οδηγίες προς τους πολίτες
πριν 1 χρόνος
« Προηγούμενο
Επόμενο »
Αυτή η ερώτηση έχει 1 απάντηση στα αγγλικά, για να τις διαβάσετε συνδεθείτε στο λογαριασμό σας.
Λύση / Απάντηση
Paul S.
Paul S.
Κάνε Σεπτέμβριος 2013 в 1:20
2013-09-19T01:20:35+00:00
Περισσότερα
Πηγή
Επεξεργασία
#22263209

Το JSON είναι απλώς μια σημείωση- για να κάνετε την αλλαγή που θέλετε `αναλύστε ώστε να μπορείτε να εφαρμόσετε τις αλλαγές σε ένα εγγενές JavaScript Object, και στη συνέχεια `stringify πίσω στο JSON.

var jsonStr = '{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"}]}';

var obj = JSON.parse(jsonStr);
obj['theTeam'].push({"teamId":"4","status":"pending"});
jsonStr = JSON.stringify(obj);
// "{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"},{"teamId":"4","status":"pending"}]}"
Mozilla logo
developer.mozilla.org
Mozilla logo
developer.mozilla.org
206
0
Artificial intelligence to parse product page
productapi.dev
Ajay Gupta
Ajay Gupta
Κάνε Μάρτιος 2016 в 7:22
2016-03-10T07:22:54+00:00
Περισσότερα
Πηγή
Επεξεργασία
#22263210
var Str_txt = '{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"}]}';

Αν θέλετε να προσθέσετε στην τελευταία θέση τότε χρησιμοποιήστε αυτό:

var parse_obj = JSON.parse(Str_txt);
parse_obj['theTeam'].push({"teamId":"4","status":"pending"});
Str_txt = JSON.stringify(parse_obj);
Output //"{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"},{"teamId":"4","status":"pending"}]}"

Αν θέλετε να προσθέσετε στην πρώτη θέση τότε χρησιμοποιήστε τον ακόλουθο κώδικα:

var parse_obj = JSON.parse(Str_txt);
parse_obj['theTeam'].unshift({"teamId":"4","status":"pending"});
Str_txt = JSON.stringify(parse_obj);
Output //"{"theTeam":[{"teamId":"4","status":"pending"},{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"}]}"

Όποιος θέλει να προσθέσει σε μια συγκεκριμένη θέση ενός πίνακα δοκιμάστε αυτό:

parse_obj['theTeam'].splice(2, 0, {"teamId":"4","status":"pending"});
Output //"{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"4","status":"pending"},{"teamId":"3","status":"member"}]}"

Το παραπάνω μπλοκ κώδικα προσθέτει ένα στοιχείο μετά το δεύτερο στοιχείο.

João Tiago
João Tiago
Επεξεργασμένη απάντηση Κάνε Οκτώβριος 2019 в 10:22
19
0
Artificial intelligence to parse product page
productapi.dev
 Musa
Musa
Κάνε Μάιος 2016 в 5:31
2016-05-11T17:31:38+00:00
Περισσότερα
Πηγή
Επεξεργασία
#22263211

Για παράδειγμα, εδώ είναι ένα στοιχείο όπως το κουμπί για την προσθήκη στοιχείου στο καλάθι και τα κατάλληλα χαρακτηριστικά για την αποθήκευση στο localStorage.

'<a href="#" cartBtn pr_id='+e.id+' pr_name_en="'+e.nameEn+'" pr_price="'+e.price+'" pr_image="'+e.image+'" class="btn btn-primary"><i class="fa fa-shopping-cart"></i>Add to cart</a>'

var productArray=[];

$(document).on('click','[cartBtn]',function(e){
  e.preventDefault();
  $(this).html('<i class="fa fa-check"></i>Added to cart');
  console.log('Item added ');
  var productJSON={"id":$(this).attr('pr_id'), "nameEn":$(this).attr('pr_name_en'), "price":$(this).attr('pr_price'), "image":$(this).attr('pr_image')};

  if(localStorage.getObj('product')!==null){
    productArray=localStorage.getObj('product');
    productArray.push(productJSON);  
    localStorage.setObj('product', productArray);  
  }
  else{
    productArray.push(productJSON);  
    localStorage.setObj('product', productArray);  
  }

});

Storage.prototype.setObj = function(key, value) {
    this.setItem(key, JSON.stringify(value));
}

Storage.prototype.getObj = function(key) {
    var value = this.getItem(key);
    return value && JSON.parse(value);
}

Μετά την προσθήκη αντικειμένου JSON σε Array το αποτέλεσμα είναι (στο LocalStorage):

[{"id":"99","nameEn":"Όνομα προϊόντος1","price":"767","image":"1462012597217.jpeg"},{"id":"93","nameEn":"Όνομα προϊόντος2","τιμή":"76","εικόνα":"1461449637106.jpeg"},{"id":"94","nameEn":"Όνομα προϊόντος3","τιμή":"87","εικόνα":"1461449679506.jpeg"}]

μετά από αυτή την ενέργεια μπορείτε εύκολα να στείλετε τα δεδομένα στο διακομιστή ως List σε Java

Το πλήρες παράδειγμα κώδικα είναι εδώ

https://stackoverflow.com/questions/23554456/how-do-i-store-a-simple-cart-using-localstorage/37169851#37169851

 Community
Community
Επεξεργασμένη απάντηση Κάνε Μάιος 2017 в 12:34
0
0
Προσθήκη ερώτησης
Κατηγορίες
Όλα
Τεχνολογία
Πολιτισμός / Αναψυχή
Ζωή / Τέχνες
Επιστήμη
Επαγγελματικό
Επιχείρηση
Χρήστες
Όλα
Νέα
Δημοφιλές
1
Inessa bu
Εγγεγραμμένη πριν 1 μήνας
2
Denis Babushkin
Εγγεγραμμένη πριν 1 μήνας
3
asakuno asakuno
Εγγεγραμμένη πριν 1 μήνας
4
aldo salerno
Εγγεγραμμένη πριν 1 μήνας
5
Анна Батицкая
Εγγεγραμμένη πριν 1 μήνας
Artificial intelligence to parse product page
productapi.dev
BG
DA
DE
EL
ES
FR
ID
IT
JA
NL
NO
PT
RU
TR
ZH
© kzen.dev 2023
Πηγή
stackoverflow.com
με άδεια cc by-sa 3.0 με αναφορά