2014-01-21 3 views
0

У меня есть C# функцияC# Функция для возвращения JSON, неожиданная ошибка

public JObject MessageJSON(string dv, string sip) 
      { 

       JArray details = new JArray(); 

       //Gr 1 
       JArray detail = new JArray(); 

       JObject detailR = new JObject(); 
       detailR["dt"] = "int"; 
       detailR["dn"] = "status"; 
       detailR["dv"] = dv; 

       detail.Add(detailR); 

       //Gr 2 
       JObject issuerobj = new JObject(); 
       issuerobj.Add("sid", "2"); 
       issuerobj.Add("sip", sip); 
       issuerobj.Add("storeid", 9999); 
       issuerobj.Add("timestamp", 1390236777); 


       //list of events 

       JObject objectJS = new JObject(); 
       objectJS.Add(detail); 
       objectJS.Add(issuerobj); 


       JArray ret = new JArray(); 
       ret.Add(objectJS); 

       JObject stringJSON = new JObject(); 
       stringJSON.Add(ret); 

       return stringJSON; 

      } 

и мне нужно от функции возвращать JSON как это:

{ "events" : [ { "event" : { "details" : [ { "dn" : "status", 
        "dt" : "int", 
        "dv" : 2 
       } ], 
      "issuer" : { "sid" : 2, 
       "sip" : "192.168.1.125", 
       "storeid" : 9999, 
       "timestamp" : 1390236777 
       }, 
      "type" : "VRA3.5_SCREEN" 
      } } ] } 

Одной из проблем является то, что у меня есть когда я пытаюсь добавить список к объекту.

Advanced благодаря

+1

Какая ошибка на какой линии ... – Stormenet

+0

Невозможно добавить Newtonsoft.Json.Linq .JArray для Newtonsoft.Json.Linq.JObject. в строке № 27 – Alynuzzu

+0

Лучше отредактируйте свой вопрос с помощью этой информации, никто не любит подсчитывать номера строк (например, комментировать строку, где происходит исключение) – Stormenet

ответ

1

Изменить

objectJS.Add(detail); 
objectJS.Add(issuerobj); 

Для

objectJs["details"] = detail; 
objectJs["issuer"] = issuerobj; 

и stringJSON.Add(ret) к stringJSON["events"] = ret

+0

Пока нет. на строке «objectJS.Add (подробно)»; нарушит мой код – Alynuzzu

+0

обновил ответ –

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