|
JSON в Cache?
|
|||
---|---|---|---|
#18+
Есть ли в каше классы для преобразования данных в формат JSON и обратно или все-таки придется придумывать свой велосипед? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2010, 11:57 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
Есть наработки на эту тему. Например, наш ведущий консультант Борис Егоров разработал в свое время специальный класс . В ZEN сейчас появляется поддержка JSON. Советую Вам проконсультироваться с Вашим консультантом InterSystems по этому вопросу. Если консультант поймет Вашу задачу, он сможет что-нибудь посоветовать. Вадим ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2010, 12:10 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
Ещё здесь посмотрите: Zen JSON Component ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2010, 11:23 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
Что-то изменилось в каше? Сейчас можно не используя ZEN принимать и передавать объекты в JSON формате наподобие того, как это можно сделать с XML с помощью %XML.Adaptor, %XML.Reader, %XML.Writer? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 11:05 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
... ну как минимум нужные классы все равно находятся в пакете %ZEN. Сейчас надо поискать те, которые можно использовать без ZEN. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 11:33 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
... например, %ZEN.Auxiliary.jsonProvider ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 11:44 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
Блок А.Н.... ну как минимум нужные классы все равно находятся в пакете %ZEN. Сейчас надо поискать те, которые можно использовать без ZEN.То есть Вас смущает, что эти методы находятся именно в пакете %ZEN?Блок А.Н.... например, %ZEN.Auxiliary.jsonProviderПоищите в нём новые методы с пометкой: Код: plaintext
Документация 2015.1The jsonProvider code may also be invoked from a non-Zen context by calling one of the following APIs: %WriteJSONFromArray %WriteJSONFromObject %WriteJSONStreamFromArray %WriteJSONStreamFromObject %ConvertJSONToObject источник ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 11:54 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
Да, я нашел решение, спасибо. Из-за того, что класс в ZEN, искать пришлось дольше. Но я хитрый, искал через select * from %dictionary.methoddefinition where upper(id) like '%JSON%' ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 16:30 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
Блок А.Н, еще json.m по ссылке c json.org :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2015, 13:12 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
Еще JSON можно "имитировать" в Cache. null Код: javascript 1. 2. 3.
Код: sql 1.
boolean / true Код: javascript 1. 2. 3.
Код: sql 1. 2.
boolean / false Код: javascript 1. 2. 3.
Код: sql 1. 2.
Number Код: javascript 1. 2. 3.
Код: sql 1. 2.
String Код: javascript 1. 2. 3.
Код: sql 1. 2.
Object Код: javascript 1. 2. 3. 4. 5. 6.
Код: sql 1. 2. 3. 4. 5.
Array Код: javascript 1. 2. 3.
Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2015, 06:20 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
doublefint, Чтобы можно было обратно восстановить JSON. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2015, 06:05 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
jxcoder, Хм, ну а почему json в каше не "имитировать" объектами? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2015, 09:35 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
Блок А.Н., Ну если взять произвольный JSON, то как быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2015, 12:42 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
jxcoderНу если взять произвольный JSON, то как быть?Для этого есть класс %ZEN.proxyObject . Примеры№1main() [arr] { n arr s jsonStr="{""data"": {""login"": ""jxcoder"",""age"": 23,""phone"": [""12"",34]}}" d ##class(%ZEN.Auxiliary.jsonProvider).%ConvertJSONToObject(jsonStr,,.obj) w "login=",obj.data.login,! w "age=",obj.data.age,! w "phone=" f i=1:1:obj.data.phone.Count() w obj.data.phone.GetAt(i)," " w !! // или так d obj.data.%Print() d obj.data.SaveDocument("arr","json") zw arr } Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
main() [arr] { n arr s obj=##class(%ZEN.proxyObject).%New() s obj.boolean=$$$YES s obj.number=123 s obj.string="asd" s obj.null="" s obj.list=##class(%ListOfDataTypes).%New() d obj.list.InsertList($lb(123,"zxc")) s obj.arr=##class(%ArrayOfDataTypes).%New() d obj.arr.SetAt("b1","a1") d obj.arr.SetAt("b2","a2") d obj.arr.SetAt("b3","a3") s obj.obj=##class(%ZEN.proxyObject).%New() s obj.obj.blablabla="f" s obj.arrobj=##class(%ArrayOfObjects).%New("%ZEN.proxyObject") s tmp=##class(%ZEN.proxyObject).%New() s tmp.tmp="q1w2e3" d obj.arrobj.SetAt(tmp,"tmp1") d obj.%Print() w !,"********",! d obj.SaveDocument("arr","json") zw arr w !,"********",! d obj.%ToJSON(,"caelowt") } Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2015, 15:14 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
servit, В данном случае заранее известно как его надо парсить. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2015, 15:18 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
jxcoderservit, В данном случае заранее известно как его надо парсить.main() [arr] { n arr s jsonStr="{""data"": {""login"": ""jxcoder"",""age"": 23,""phone"": [""12"",34]}}" d ##class(%ZEN.Auxiliary.jsonProvider).%ConvertJSONToObject(jsonStr,,.obj) d obj.SaveDocument("arr","json") zw arr /* arr("json")="63610,52000" arr("json",1)="" arr("json",1,"data")="@2" arr("json",2)="" arr("json",2,"age")=23 arr("json",2,"login")="jxcoder" arr("json",2,"phone")="@3" arr("json",3)="list" arr("json",3,1)=12 arr("json",3,2)=34 */ }Можно узнать что в данном случае известно заранее? И в чём состоит конкретно задача: представить произвольный JSON в виде объекта, сохранить его в глобал или иное? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2015, 15:34 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
servitМожно узнать что в данном случае известно заранее? И в чём состоит конкретно задача: представить произвольный JSON в виде объекта, сохранить его в глобал или иное? Задача состоит в том, чтобы однозначно восстановить JSON и поддерживать типы: null, true, false, number, string, object, array. Да, JSON необходимо сохранить в глобал. И потом восстановить из глобала обратно в JSON. Насколько я понял, Cache одинаково сохраняет "" и null. Как потом их восстанавливать обратно, если мы заранее не знаем тип? Мой способ предлагает сохранять тип, чтобы восстановление было бы однозначным. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 07:49 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
jxcoderservitМожно узнать что в данном случае известно заранее? И в чём состоит конкретно задача: представить произвольный JSON в виде объекта, сохранить его в глобал или иное? Задача состоит в том, чтобы однозначно восстановить JSON и поддерживать типы: null, true, false, number, string, object, array. Да, JSON необходимо сохранить в глобал. И потом восстановить из глобала обратно в JSON. Насколько я понял, Cache одинаково сохраняет "" и null. Как потом их восстанавливать обратно, если мы заранее не знаем тип? Мой способ предлагает сохранять тип, чтобы восстановление было бы однозначным. 18194269 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2015, 12:24 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
Презентация со «Школа инноваций InterSystems – 2015» "Поддержка JSON" с бонусными слайдами про DocumentDB ( pdf ) Другие презантации можно посмотреть здесь . ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2015, 13:11 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
jxcoderservitМожно узнать что в данном случае известно заранее? И в чём состоит конкретно задача: представить произвольный JSON в виде объекта, сохранить его в глобал или иное?Задача состоит в том, чтобы однозначно восстановить JSON и поддерживать типы: null, true, false, number, string, object, array. Да, JSON необходимо сохранить в глобал. И потом восстановить из глобала обратно в JSON. Насколько я понял, Cache одинаково сохраняет "" и null. Как потом их восстанавливать обратно, если мы заранее не знаем тип? Мой способ предлагает сохранять тип, чтобы восстановление было бы однозначным.При наличии доступа к 2016.2, взгляните на Caché DocDM ( Doc ument D ata M odel), в котором:
... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2016, 16:38 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
Вот ещё одна из недавних статей: Introducing new JSON capabilities in Caché 2016.1 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 14:53 |
|
JSON в Cache?
|
|||
---|---|---|---|
#18+
servitВот ещё одна из недавних статей: Introducing new JSON capabilities in Caché 2016.1 Да, очень хорошая статья. Вообще радует, что продакт-менеджеры InterSystems взялись выпускать статьи - будут еще и, надеюсь, регулярно. Кроме того, статьи хабра будут переводиться на портал. Первый перевод уже там. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 15:13 |
|
|
start [/forum/topic.php?fid=39&msg=38886332&tid=1556523]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 296ms |
total: | 452ms |
0 / 0 |