2014-09-02 4 views
-1
{ 
    "ma.addEvents":{ 
     "ma.id":"my-id", 
     "ma.eventIds":[ 
     "eventID1", 
     "eventID2" 
     ] 
    } 
} 

Я не понимаю, как я могу создать объект, например, «ma.addEvent» «Проблема» здесь.Как я могу создать этот json-объект с кодом javascript?

+0

Есть ли причина, по которой вы не можете решить проблему? –

+0

Это так же просто, как 'var foo = {" ma.addEvents ": {" ma.id ":" my-id "," ma.eventIds ": [" eventID1 "," eventID2 "]}};' –

+0

это это формат, который ищет служба. Не могу этого изменить. –

ответ

2

Попробуйте

var x = { 
    "ma.addEvents":{ 
     "ma.id":"my-id", 
     "ma.eventIds":[ 
     "eventID1", 
     "eventID2" 
     ] 
    } 
} 

Если вы хотите получить доступ, вы должны использовать [] обозначения (. обозначения не будет работать, так как точки в ключах), как

console.log(x["ma.addEvents"]["ma.id"]) 
2

Вы можете использовать квадратные скобки, обозначения:

var yourObject = {}; 
yourObject['ma.addEvents'] = {}; 

... и так далее. Печать атрибута ma.addEvents с помощью

console.log(yourObject['ma.addEvents']) 
1

Вы можете использовать это:

var json_string = "{\"ma\.addEvents\":{\"ma\.id\":\"my-id\",\"ma\.eventIds\":[\"eventID1\",\"eventID2\"]}}"; 

В приведенном выше коде при анализе json (JSON.parse) будет получен тот же объект, который появляется в вашем вопросе.

Надеется, что это помогает,

С уважением,

Марсело

+0

* "при анализе на json" * Uhm ... строка * содержит * JSON и 'JSON.parse' преобразует ее в * объект *. –

+0

Вы правы, я пытался сказать, что это было наоборот. Он должен был сказать «когда преобразован в объект (JSON.parse) ...». Но разве этот парень не хочет этого делать? Возможно, я не понял этот вопрос. – Mindastic

+0

Я не знаю, что он хочет делать, я просто хотел указать на вашу «ошибку». Люди уже запутывают объекты JavaScript с JSON, нет необходимости путать их еще больше :) –

1
var obj = { 
    "ma.addEvents": { 
     "ma.id":"my-id", 
     "ma.eventIds":[ 
     "eventID1", 
     "eventID2" 
     ] 
    } 
} 

Зависит от того, в какую часть вы хотели бы добавить динамически.

var obj = {}; 
obj["ma.addEvents"] = { 
      "ma.id":"my-id", 
      "ma.eventIds":[ 
      "eventID1", 
      "eventID2" 
      ] 
     }; 
obj["ma.addEvents"]["ma.eventIds"].push("someotherEvent"); 

Пожалуйста, взгляните на documentation for accessors.

1

ma должны быть определены, прежде чем создавать ma.addEvents и т.д. Синтаксис может выглядеть следующим образом:

// `ma` is an object 
var ma = { 
    // It contains an object called `addEvents` 
    addEvents: { 
     // Which contains a string `id` and an array `eventIds` 
     id: "my-id", 
     eventIds: [ 
      "eventId1", 
      "eventId2" 
     ] 
    } 
} 

Чтобы создать пустой объект в ma, вы можете использовать «точечную» синтаксис:

ma.newObject = {}; 

или квадратные скобки обозначения:

ma["newObject"] = {}; 

Я не совсем уверен, в чем ваш вопрос, вы ищете для разбора этого JSON или для изучения синтаксиса объекта Javascript?