2015-09-09 2 views
-1

Что такое JSON эквивалентно:JSON - Как получить доступ к неназванным атрибутам [преобразования из XML]

<attributes> 
    <attribute name="ISSO">SOMETHING</attribute> 
    <attribute name="ALTISSO">SOMETHING</attribute> 
    <attribute name="SSPDate">SOMETHING</attribute> 
    <attribute name="DueDate">SOMETHING</attribute> 
    <attribute name="Completed">SOMEHING</attribute> 
    <attribute name="Notes">SOME NOTES</attribute> 
</attributes> 

Я понимаю, что начинается как

"attributes": { 
    "attribute": [ 
     { "name": "ISSO" , ???? }, 
     {"name": "ALTISSO", ???}, 
     { "name": "SSPDate", ???? } 
    ] 
}; 

Что я, не понимая, как для доступа к части «SOMETHING» в JSON. Я пробовал #text, text и _text и __text.

Схема XML является AnyChart

+1

Существует не стандарт JSON эквивалентен произвольной комок XML. Есть много разных способов, которыми данные могут быть выражены. – Quentin

+0

невероятно полезно ... –

+2

Ваш вопрос не подлежит ответственности. Это даже не ясно. Вы либо спрашиваете, как получить доступ к некоторым данным, которые не указаны в JSON, которые вы указали, или спросите, как вам следует выражать некоторые данные в JSON, что очень важно. – Quentin

ответ

-1

Вы не упомянули, какую платформу или язык программирования вы хотите получить к нему доступ. Но вот пример с использованием Visual Studio и C#:

Сначала я сгенерировал JSON из образца XML с помощью этого сайта: http://www.utilities-online.info/xmltojson/#.VfBX5xFViko

{ 
    "attributes": { 
    "attribute": [ 
     { 
     "name": "ISSO", 
     "text": "SOMETHING" 
     }, 
     { 
     "name": "ALTISSO", 
     "text": "SOMETHING" 
     }, 
     { 
     "name": "SSPDate", 
     "text": "SOMETHING" 
     }, 
     { 
     "name": "DueDate", 
     "text": "SOMETHING" 
     }, 
     { 
     "name": "Completed", 
     "text": "SOMEHING" 
     }, 
     { 
     "name": "Notes", 
     "text": "SOME NOTES" 
     } 
    ] 
    } 
} 

Тогда, наклеенные это VS и сгенерировали классы десериализовать:

public class Rootobject 
{ 
    public Attributes attributes { get; set; } 
} 

public class Attributes 
{ 
    public Attribute[] attribute { get; set; } 
} 

public class Attribute 
{ 
    public string name { get; set; } 
    public string text { get; set; } 
} 

и использовали библиотеку Newtonsoft JSON десериализовать

static void Main(string[] args) 
{ 
    string json = File.ReadAllText("sample.json"); 
    var attributes = Newtonsoft.Json.JsonConvert.DeserializeObject<Rootobject>(json); 
    Console.WriteLine(attributes.attributes.attribute[0].text); 
    // Displays SOMETHING 
} 
Смежные вопросы