2013-09-19 3 views
1

У меня есть JsonObject со многими параметрами для вставки в функцию JavaScript.Как сделать tizen :: Web :: JsonObect toString?

Метод ToString предназначен только для JsonNull, а не для JsonObject.

Я не могу отбросить JsonObject в JsonNull.

Это мой код:

{void 
WebViewer::ExecuteScriptInWebView(JsonObject jsonObject) { 
__pWeb->EvaluateJavascriptN("test.execute("+jsonObject->ToString()+")"); 
} 

ли существует способ сделать это?

ответ

0

Похоже то, что вы могли бы сделать с JsonWriter класса:

JsonObject *pJsonObj = new JsonObject(); 
pJsonObj->Construct(); 

String *pStrProductKey = new String(L"product"); 
String *pStrStockKey = new String(L"stock"); 

JsonString *pStrProduct1 = new JsonString(L"iPhone 5S"); 
JsonNumber *pStrIPhoneStock = new JsonNumber(7); 

pJsonObj->Add(pStrProductKey, pStrProduct1); 
pJsonObj->Add(pStrStockKey, pStrIPhoneStock); 

/* Replace 256 with the amount of space you think you might 
    need for the string. */ 
char *pComposeBuf = new char[256]; 
result res = JsonWriter::Compose(pJsonObj, pComposeBuf, 256); 
String s(pComposeBuf); 

s теперь будет содержать строку "{"product":"iPhone 5S","stock":7}".

1

Используйте метод ниже, Пройди свой JSONObject и получить результат в виде строки

String YourClass::GetJsonString(IJsonValue* pVal) { 

String jsonString; 

char* pBuf = new char[4096]; 
result r = JsonWriter::Compose(pValue, pComposeBuf, 4096); 
if (r == E_SUCCESS) { 
    jsonString = pComposeBuf; 
} else { 
    jsonString = L""; 
} 
delete[] pBuff; 

return jsonString; 
}