/// <summary> /// converting string to NPL table object /// </summary> /// <param name="input">such as "{nid=10, name=\"value\", tab={name1=\"value1\"}}"</param> /// <returns>may return null if failed.</returns> public static NPLObjectProxy StringToNPLTable(string input) { NPLLex lex = new NPLLex(); NPLLex.LexState ls = lex.SetInput(input); ls.nestlevel = 0; try { NPLParser.next(ls); /* read first token */ if(ls.t.token == '{') { NPLObjectProxy output = new NPLObjectProxy(); if (DeserializePureNPLDataBlock(ls, ref output)) { NPLParser.testnext(ls, ';'); if (ls.t.token == (int)NPLLex.RESERVED.TK_EOS) { return output; } } } } catch (Exception err) { ParaGlobal.applog("error:" + err.ToString() + "in NPLHelper::StringToNPLTable()"); return null; } return null; }