<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Ассоциативный массив из переменной]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=14515&amp;type=atom" />
	<updated>2019-02-01T18:36:43Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=14515</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Ассоциативный массив из переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=131872#p131872" />
			<content type="html"><![CDATA[<p>Огромное спасибо всем, JSON.ahk решил все проблемы.</p>]]></content>
			<author>
				<name><![CDATA[chebu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38676</uri>
			</author>
			<updated>2019-02-01T18:36:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=131872#p131872</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Ассоциативный массив из переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=131698#p131698" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>KusochekDobra пишет:</cite><blockquote><p>У меня &quot;Wrong Json!&quot;, если только взять в кавычки ключи. =/</p></blockquote></div><p>Да, я имел в виду строку &quot;{RED: 111, BLUE: 222, GREEN: 333}&quot;. Но оказалось, работает и без этого:<br /></p><div class="codebox"><pre><code>str := &quot;{RED: 111, BLUE: 222, GREEN: 333}&quot;
result := JSON.Parse(str)
MsgBox % result.red</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2019-01-28T16:22:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=131698#p131698</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Ассоциативный массив из переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=131692#p131692" />
			<content type="html"><![CDATA[<p>У меня &quot;Wrong Json!&quot;, если только взять в кавычки ключи. =/</p><p><strong>chebu</strong>, нужная Вам библиотека <a href="http://forum.script-coding.com/viewtopic.php?id=14437">тут</a>.<br /></p><div class="codebox"><pre><code>
#Include JSON.ahk

reg_ex = {&quot;zazazaz&quot;,(&quot;pen&quot;:{.*},&quot;marker&quot;:{.*}),&quot;pencil&quot; &quot;:zazazaz&quot;}
primer2 = {&quot;zazazaz&quot;,&quot;pen&quot;:{RED: 111, BLUE: 222, GREEN: 333},&quot;marker&quot;:{BLACK: 44, YELLOW: 55, BLUE: 66},&quot;pencil&quot; &quot;:zazazaz&quot;}
result := JSON.Parse(RegExReplace(primer2, reg_ex, &quot;{$1}&quot;))
MsgBox % result.pen.red &quot;`n&quot; result.marker.yellow
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[KusochekDobra]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33846</uri>
			</author>
			<updated>2019-01-28T08:58:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=131692#p131692</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Ассоциативный массив из переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=131683#p131683" />
			<content type="html"><![CDATA[<p>Если возьмёте в кавычки названия ключей, можно использовать JSON, смотрите тему в коллекции.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2019-01-27T21:42:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=131683#p131683</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Ассоциативный массив из переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=131679#p131679" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>KusochekDobra пишет:</cite><blockquote><p>Оформите название темы в соответствии с правилами.</p><p>Строка, представляющая объект:<br /></p><div class="codebox"><pre><code>{&quot;zazazaz&quot;,&quot;pen&quot;:{RED: 111, BLUE: 222, GREEN: 333},&quot;marker&quot;:{BLACK: 44, YELLOW: 55, BLUE: 66},&quot;pencil&quot; &quot;:zazazaz&quot;}</code></pre></div><p>Неправильно сформирована её источником. Измените его логику так, чтобы каждому ключу было назначено значение, даже пустое(&quot;&quot;) и тогда не будет необходимости в дополнительных обработках для доступа к значениям такого объекта. Это больше упростит Вам задачу, нежели ненужная надстройка над строкой, семантика содержимого которой описывает объект.</p></blockquote></div><p>Я не могу изменить логику источника, значение переменной получаю &quot;как есть&quot;: 2 группы &quot;ключ:значение&quot; + немного лишних букв. При помощи RegExReplace <br /> привожу обе группы к виду &quot;{RED: 111, BLUE: 222, GREEN: 333}&quot;, но вместо ассоциативных массивов получаю 2 обычных.</p>]]></content>
			<author>
				<name><![CDATA[chebu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38676</uri>
			</author>
			<updated>2019-01-27T21:14:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=131679#p131679</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Ассоциативный массив из переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=131648#p131648" />
			<content type="html"><![CDATA[<p>Используй JSON.</p>]]></content>
			<author>
				<name><![CDATA[Phoenixxx_Czar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34426</uri>
			</author>
			<updated>2019-01-27T13:10:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=131648#p131648</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Ассоциативный массив из переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=131645#p131645" />
			<content type="html"><![CDATA[<p>Оформите название темы в соответствии с правилами.</p><p>Строка, представляющая объект:<br /></p><div class="codebox"><pre><code>{&quot;zazazaz&quot;,&quot;pen&quot;:{RED: 111, BLUE: 222, GREEN: 333},&quot;marker&quot;:{BLACK: 44, YELLOW: 55, BLUE: 66},&quot;pencil&quot; &quot;:zazazaz&quot;}</code></pre></div><p>Неправильно сформирована её источником. Измените его логику так, чтобы каждому ключу было назначено значение, даже пустое(&quot;&quot;) и тогда не будет необходимости в дополнительных обработках для доступа к значениям такого объекта. Это больше упростит Вам задачу, нежели ненужная надстройка над строкой, семантика содержимого которой описывает объект.</p>]]></content>
			<author>
				<name><![CDATA[KusochekDobra]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33846</uri>
			</author>
			<updated>2019-01-27T12:59:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=131645#p131645</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Ассоциативный массив из переменной]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=131640#p131640" />
			<content type="html"><![CDATA[<p>Приветствую! Прошу показать или подсказать, что я делаю не так, ибо свои идеи закончились. Пытаюсь получить ассоциативный массив из переменной.</p><p>Пример из мануала воспроизводится без проблем.<br /></p><div class="codebox"><pre><code>primer1 := {RED: 111, BLUE: 222, GREEN: 333}
MsgBox % primer1.blue</code></pre></div><p>На выходе &quot;111&quot; и удобство обращения через ключ.</p><br /><br /><p>Пытаюсь создать пару аналогичных массивов из имеющейся строки при помощи RegExReplace и StrSplit.<br /></p><div class="codebox"><pre><code>primer2 = {&quot;zazazaz&quot;,&quot;pen&quot;:{RED: 111, BLUE: 222, GREEN: 333},&quot;marker&quot;:{BLACK: 44, YELLOW: 55, BLUE: 66},&quot;pencil&quot; &quot;:zazazaz&quot;}
primer2 := RegExReplace(primer2, &quot;.*&quot;&quot;pen&quot;&quot;:\{(.*)}`,&quot;&quot;marker&quot;&quot;:\{(.*)}`,&quot;&quot;pencil&quot;&quot;.*&quot;, &quot;{$1}`n{$2}&quot;)
arr := StrSplit(primer2, &quot;`n&quot;)
MsgBox % arr[1] &quot;`n&quot; arr[2]</code></pre></div><p>На выходе получаю arr[1] и arr[2], - синтаксис тот же, но значение по ключу не выгивается.</p>]]></content>
			<author>
				<name><![CDATA[chebu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38676</uri>
			</author>
			<updated>2019-01-27T11:52:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=131640#p131640</id>
		</entry>
</feed>
