winlin

add comments for json

@@ -29,7 +29,48 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -29,7 +29,48 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 */ 29 */
30 #include <srs_core.hpp> 30 #include <srs_core.hpp>
31 31
32 -// json encode macros 32 +////////////////////////////////////////////////////////////////////////
  33 +////////////////////////////////////////////////////////////////////////
  34 +////////////////////////////////////////////////////////////////////////
  35 +/* json encode
  36 + cout<< JOBJECT_START
  37 + << JFIELD_STR("name", "srs") << JFIELD_CONT
  38 + << JFIELD_ORG("version", 100) << JFIELD_CONT
  39 + << JFIELD_NAME("features") << JOBJECT_START
  40 + << JFIELD_STR("rtmp", "released") << JFIELD_CONT
  41 + << JFIELD_STR("hls", "released") << JFIELD_CONT
  42 + << JFIELD_STR("dash", "plan")
  43 + << JOBJECT_END << JFIELD_CONT
  44 + << JFIELD_STR("author", "srs team")
  45 + << JOBJECT_END
  46 +it's:
  47 + cont<< "{"
  48 + << "name:" << "srs" << ","
  49 + << "version:" << 100 << ","
  50 + << "features:" << "{"
  51 + << "rtmp:" << "released" << ","
  52 + << "hls:" << "released" << ","
  53 + << "dash:" << "plan"
  54 + << "}" << ","
  55 + << "author:" << "srs team"
  56 + << "}"
  57 +that is:
  58 + """
  59 + {
  60 + "name": "srs",
  61 + "version": 100,
  62 + "features": {
  63 + "rtmp": "released",
  64 + "hls": "released",
  65 + "dash": "plan"
  66 + },
  67 + "author": "srs team"
  68 + }
  69 + """
  70 +*/
  71 +////////////////////////////////////////////////////////////////////////
  72 +////////////////////////////////////////////////////////////////////////
  73 +////////////////////////////////////////////////////////////////////////
33 #define JOBJECT_START "{" 74 #define JOBJECT_START "{"
34 #define JFIELD_NAME(k) "\"" << k << "\":" 75 #define JFIELD_NAME(k) "\"" << k << "\":"
35 #define JFIELD_STR(k, v) "\"" << k << "\":\"" << v << "\"" 76 #define JFIELD_STR(k, v) "\"" << k << "\":\"" << v << "\""
@@ -40,4 +81,25 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -40,4 +81,25 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
40 #define JARRAY_START "[" 81 #define JARRAY_START "["
41 #define JARRAY_END "]" 82 #define JARRAY_END "]"
42 83
  84 +////////////////////////////////////////////////////////////////////////
  85 +////////////////////////////////////////////////////////////////////////
  86 +////////////////////////////////////////////////////////////////////////
  87 +// json decode
  88 +// 1. SrsJsonAny: read any from stream
  89 +// SrsJsonAny* pany = NULL;
  90 +// if ((ret = srs_json_read_any(stream, &pany)) != ERROR_SUCCESS) {
  91 +// return ret;
  92 +// }
  93 +// srs_assert(pany); // if success, always valid object.
  94 +// 2. SrsJsonAny: convert to specifid type, for instance, string
  95 +// SrsJsonAny* pany = ...
  96 +// if (pany->is_string()) {
  97 +// string v = pany->to_str();
  98 +// }
  99 +//
  100 +// for detail usage, see interfaces of each object.
  101 +////////////////////////////////////////////////////////////////////////
  102 +////////////////////////////////////////////////////////////////////////
  103 +////////////////////////////////////////////////////////////////////////
  104 +
43 #endif 105 #endif