Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

JSON methods, toJSON#162

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
otmon76 merged 2 commits intojavascript-tutorial:masterfromotmon76:1.5.12
Jun 3, 2025
Merged
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions1-js/05-data-types/12-json/1-serialize-object/solution.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@


```js
letuser = {
name: "John Smith",
age: 35
letuživatel = {
jméno: "Jan Novák",
věk: 35
};

*!*
letuser2 = JSON.parse(JSON.stringify(user));
letuživatel2 = JSON.parse(JSON.stringify(uživatel));
*/!*
```

10 changes: 5 additions & 5 deletions1-js/05-data-types/12-json/1-serialize-object/task.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,13 +2,13 @@ importance: 5

---

#Turn the object into JSON and back
#Převeďte objekt do JSONu a zpět

Turn the `user` into JSON and then read it back into another variable.
Převeďte objekt `uživatel` do JSONu a pak jej načtěte zpět do jiné proměnné.

```js
letuser = {
name: "John Smith",
age: 35
letuživatel = {
jméno: "Jan Novák",
věk: 35
};
```
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@

```js run
letroom = {
number: 23
letmístnost = {
číslo: 23
};

letmeetup = {
title: "Conference",
occupiedBy: [{name: "John"}, {name: "Alice"}],
place: room
letmítink = {
titul: "Konference",
obsazenoČím: [{jméno: "Jan"}, {jméno: "Alice"}],
místo: místnost
};

room.occupiedBy =meetup;
meetup.self =meetup;
místnost.obsazenoČím =mítink;
mítink.onSám =mítink;

alert( JSON.stringify(meetup, functionreplacer(key, value) {
return (key != "" &&value ==meetup) ? undefined :value;
alert( JSON.stringify(mítink, functionnahrazení(klíč, hodnota) {
return (klíč != "" &&hodnota ==mítink) ? undefined :hodnota;
}));

/*
{
"title":"Conference",
"occupiedBy":[{"name":"John"},{"name":"Alice"}],
"place":{"number":23}
"titul":"Konference",
"obsazenoČím":[{"jméno":"Jan"},{"jméno":"Alice"}],
"místo":{"číslo":23}
}
*/
```

Here we also need to test `key==""` to exclude the first call where it is normal that `value` is `meetup`.
Zde musíme testovat i to, zda `klíč==""`, abychom vyloučili první volání, kde je v pořádku, že `hodnota` je `mítink`.

38 changes: 19 additions & 19 deletions1-js/05-data-types/12-json/2-serialize-event-circular/task.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,40 +2,40 @@ importance: 5

---

#Exclude backreferences
#Vyřaďte zpětné odkazy

In simple cases of circular references, we can exclude an offending property from serialization by its name.
V jednoduchých případech kruhových odkazů můžeme závadnou vlastnost vyřadit ze serializace podle jejího názvu.

But sometimes we can't just use the name, as it may be used both in circular references and normal properties. So we can check the property by its value.
Někdy však nemůžeme použít jen název, protože stejný název může být použit jak v kruhových odkazech, tak v normálních vlastnostech. Můžeme tedy zkontrolovat vlastnost podle její hodnoty.

Write `replacer` function to stringify everything, but remove properties that reference `meetup`:
Napište funkci `nahrazení`, která zřetězí všechno, ale odstraní vlastnosti, které se odkazují na `mítink`:

```js run
letroom = {
number: 23
letmístnost = {
číslo: 23
};

letmeetup = {
title: "Conference",
occupiedBy: [{name: "John"}, {name: "Alice"}],
place: room
letmítink = {
titul: "Konference",
obsazenoČím: [{jméno: "Jan"}, {jméno: "Alice"}],
místo: místnost
};

*!*
//circular references
room.occupiedBy =meetup;
meetup.self =meetup;
//kruhové odkazy
místnost.obsazenoČím =mítink;
mítink.onSám =mítink;
*/!*

alert( JSON.stringify(meetup, functionreplacer(key, value) {
/*your code */
alert( JSON.stringify(mítink, functionnahrazení(klíč, hodnota) {
/*váš kód */
}));

/*result should be:
/*výsledek by měl být:
{
"title":"Conference",
"occupiedBy":[{"name":"John"},{"name":"Alice"}],
"place":{"number":23}
"titul":"Konference",
"obsazenoČím":[{"jméno":"Jan"},{"jméno":"Alice"}],
"místo":{"číslo":23}
}
*/
```
Loading

[8]ページ先頭

©2009-2025 Movatter.jp