🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.javascript
Article #50906

Filtrowanie obiektu JSON-a

#50906
From: Peter May
Date: Sun, 09 Oct 2011 13:17
65 lines
2129 bytes
Mam taki przykładowy obiekt JSON-a:

{
	"result": "1",
	"get": [
		{
			"type": "test",
			"more": {
				"type": "test1",
			},
			"more2": {
				"qwe": "test2",
				"email": null,
			},
			"more3": null
		},
		{
			"type": "best",
			"more": {
				"type": "test11",
			},
			"more2": {
				"qwe": "test22",
				"email": null,
			},
			"more3": null
		},
	]
}

Potrzebuję przefiltrować wszystkie obiekty w tablicy "get" i zostawić 
tylko te obiekty w tablicy, które będą zawierały dowolny klucz i wartość 
pasująca do poszukiwanego string-a.

Czyli jeśliby przefiltrować wszystkie obiekty w tablicy "get" i zostawić 
te, w których jest dowolny klucz którego wartość będzie zawierać string 
"test22", to wynik byłby taki:

{
	"result": "1",
	"get": [
		{
			"type": "best",
			"more": {
				"type": "test11",
			},
			"more2": {
				"qwe": "test22",
				"email": null,
			},
			"more3": null
		},
	]
}

Wiem, że mógłbym to zrobić pętlami for-in, ale może jest jakiś inny 
sposób, by prze-iterować się po całym obiekcie i sprawdzić czy jakiś 
klucz nie zawiera w swojej wartości określonego stringa?

No i inna sprawa, że jeśli obiekt będzie jeszcze bardziej zagnieżdżony, 
to znów musiałbym dodać kolejną pętlę for-in. A wolałbym mieć jakieś 
bardziej uniwersalne rozwiązanie.

-- 
Peter
Technical Details
Message-ID: <j6s6st$skj$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail
From: Peter May <peter.may@onet.pl>
Newsgroups: pl.comp.lang.javascript
Subject: Filtrowanie obiektu JSON-a
Date: Sun, 09 Oct 2011 15:17:13 +0200
Organization: http://onet.pl
Lines: 65
Message-ID: <j6s6st$skj$1@news.onet.pl>
NNTP-Posting-Host: ip-79-175-205-52.cable.smsnet.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1318166237 29331 79.175.205.52 (9 Oct 2011 13:17:17 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Sun, 9 Oct 2011 13:17:17 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit