c# - Converting JSON string to lisp(aml) readable string for evaluation using regular expressions -
i'm trying convert json string stringformat can use evaluate in lisp (aml).
i want convert f.eks.:
{"id": 1, "name": "foo", "price": 123, "tags": ["bar","eek"], "stock": {"warehouse": 300, "retail": 20} }
to:
(json-object (json-object-property "id" <1>) (json-object-property "name" <"foo">) (json-object-property "price" <123>) (json-object-property "tags"(json-array (list "bar" "eek")) (json-object-property "stock"(json-object (json-object-property "warehouse" <300>) (json-object-property "retail" <20>)))))
i'm trying first use c# , regex it, , "translate" lisp/aml. question really:
how using regular expression in c#? have tried lot, ends struggling strings inculdes not-word-characters, or few "(".
i have never used regex before, code doesn't smart:
string input = @"{""id"": 1,""name"": ""foo"",""price"": 123,""tags"": [""bar"",""eek""],""stock"": {""warehouse"": 300,""retail"": 20}}"""; string pattern = @"[}]"; string replacement = ")"; regex rgx = new regex(pattern); string result = rgx.replace(input, replacement); pattern = @"((?<word1>""\w+"")(:\s)(?<word2>""\w+""|\d+))"; replacement = @"(json-object-property ${word1} <${word2}>)"; rgx = new regex(pattern); result = rgx.replace(result, replacement); pattern = @"[]]"; replacement = "))"; rgx = new regex(pattern); result = rgx.replace(result, replacement); pattern = @"[{]"; replacement = "(json-object "; rgx = new regex(pattern); result = rgx.replace(result, replacement); pattern = @"[[]"; replacement = "(json-array (list "; rgx = new regex(pattern); result = rgx.replace(result, replacement); pattern = @"[,]"; replacement = " "; rgx = new regex(pattern); result = rgx.replace(result, replacement); pattern = @"(?<word1>""\w+"")(:\s)"; replacement = @"(json-object-property ${word1}"; rgx = new regex(pattern); result = rgx.replace(result, replacement); console.writeline(result);
Comments
Post a Comment