LINUX.ORG.RU

Чем можно распарсить это?

 keyvalues, ,


0

2

Файл: http://cdn.dota2.com/apps/570/scripts/items/items_game.9b3d11f4a87d3ea662726f...

Пример содержимого:

	"web_resources"
	{
		"0"
		{
			"name"		"TI 2013 Results"
			"url"		"TI_2013_results.txt"
			"on_demand"		"0"
		}
		"1"
		{
			"name"		"TI 2013 Schedule"
			"url"		"TI_2013_schedule.txt"
			"on_demand"		"0"
		}
		"2"
		{
			"name"		"TI 2013 Upcoming"
			"url"		"TI_2013_upcoming.txt"
			"on_demand"		"0"
		}
		"3"
		{
			"name"		"TI 2013 NextMatch"
			"url"		"TI_2013_nextmatch.txt"
			"on_demand"		"0"
		}
	}

Это как бы похоже на json, но это не json. Как это можно распарсить?

★★★★★

Последнее исправление: Ghostwolf (всего исправлений: 1)

Руками можно (т.е. написать самому), формат незамысловатый.

mashina ★★★★★
()

Это Valve KeyValues, чрезвычайно похожее на бустовское INFO. Парсить, скорее всего, можно парсерами и для того, и для другого. Или руками.

trycatch ★★★
()

Простейшая стейт-машина для парсинга велосипедится на перле, например, минут за 10 с отладкой.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

ты так говоришь, как будто это что-то плохое

vrtlm
()
set	"web_resources" {
		"0"
		{
			"name"		"TI 2013 Results"
			"url"		"TI_2013_results.txt"
...

tcl

source notjson.txt

> dict keys $web_resources
0 1 2 3

> dict get $web_resources 1

			"name"		"TI 2013 Schedule"
			"url"		"TI_2013_schedule.txt"
			"on_demand"		"0"

> dict get $web_resources 1 url
TI_2013_schedule.txt

anonymous
()

Замени фигурную скобку на обычную и получится s-exрression, приятный глазу любого лиспера.

Если заменить открывающую скобку на <tag>, а закрывающую на </tag>, получишь кривой xml, который парсится кучей библиотек.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.