2012-05-05 4 views
0

Я использую этот код для перебора свойств, передаваемых в родную функцию:Получить имя свойства по идентификатору

JSObject *iter = JS_NewPropertyIterator(cx, jsargs); 
jsid id; 
while(JS_NextProperty(cx, iter, &id) && id != JSID_VOID) { 
     jsval vp; 
     if(!JS_GetPropertyById(cx, jsargs, id, &vp)) { 
       continue; 
     } 
     // ... 
} 

Это прекрасно работает, чтобы получить значение собственности, однако, мне нужно имя этого имущества, тоже.

Я не нашел ни одной из связанных с недвижимостью функций ...ById(), которые дают мне название свойства.

+0

@FelixKling: Я думаю, что «SpiderMonkey:» в названии был полезен людям, видящим этот вопрос на первой странице. Новый заголовок довольно расплывчатый, не глядя на теги. И согласно http://meta.stackexchange.com/a/10648/147015 тег-подобные префиксы часто считаются хорошими. – ThiefMaster

+0

Mmh, извините. Я продолжаю удалять эти теги: вещи. Я даже не заметил, что это был вопрос от вас ... Как насчет «... в SpiderMonkey»? :) Рад, что ты это понял! –

+2

Вздох, я ненавижу людей, опрокидывающих вопросы, не оставляя комментариев почему. – ThiefMaster

ответ

0

Помогло найти существующий код, которому необходимо это поведение (json encoder).

JS_IdToValue - это функция, которую я искал.

Смежные вопросы