Summary: | ASTERISK-09199: Proper escaping of JSON elements in GetConfigJSON | ||
Reporter: | Pari Nannapaneni (pari) | Labels: | |
Date Opened: | 2007-04-05 11:20:09 | Date Closed: | 2007-07-09 21:20:52 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Core/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | Background: getconfigjson was added recently as an experimental feature to output config files in JSON format. http://lists.digium.com/pipermail/asterisk-commits/2007-February/011625.html Current Output is ======================================= JSON: { "context_1":["line1","line2","line3"], "context_2":["line1","line2"] } ========================================= the problem is if there are special characters - like " in line1 or line2, the JSON output can not be properly parsed to a JSON object on the other end. So we need to find the right way the JSON standard expects these LineX's are to be encoded in, and use the same escape/encoding on all LineX's. ****** ADDITIONAL INFORMATION ****** Using a JSON library (http://oss.metaparadigm.com/json-c/) to construct the JSON output makes life a lot easier but including "Yet another library" for just building a one level JSON string might be too much. Use of such a library makes more sense when we are building complex JSON objects with 3 or 10 sub levels or when we are decoding complex JSON data. But here we are just building a simple one level string. so use of those libraries might me an overkill. | ||
Comments: | By: Russell Bryant (russell) 2007-04-23 13:52:24 I have committed a fix for this in revision 61767. I have it escaping '\' and '"'. I think that should be enough for what we're doing here. Let me know if you have any more problems. |