java代碼中對cjson的解析

cocos2d-x技術群新群:117871561
c++技術交流群:593010226

在棋牌游戲開發中避免不了與sdk打交道,一般sdk都是用java寫的 所以 一些數據的交換避免不了。當lua代碼向java代碼傳的值很多時 為了方便 都會編碼成cjson或json轉換格式的數據 那java部分 就要去解析這個格式從而獲得想要的數據 下面 通過簡單易懂的代碼 去了解java代碼中如何去解析json或cjson格式數據

lua部分

local param = {}
param["count"] = 1
param["userid"] = 123
param["price"] = 20
--將table類型param編碼成cjson格式數據
lcoal args = { cjson.encode(param)}
--調用java部分方法的簽名
local sigs = "(ILjava/lang/String;)V"
--調用java部分的pay方法
local ok,ret = luaj.callStaticMethod("org/cocos2dx/lua/AppActivity","pay",args,sigs)

java部分
AppActivity.java

//引入包
import org.json.JSONException;
import org.json.JSONObject;

//payparam是lua代碼傳過來的json數據
public static void pay(final String payparam)
{
  //創建一個JSONObject對象 這個對象實現的代碼塊一定要用try{}catch{}捕獲異常
  try
  {
      JSONObject jsonObj = new JSONObject(payparam)
      //根據json中的鍵count獲取int類型數量
      int count = isonObj.getInt("count")
     double  fPrice = jObject.getDouble("price");
     String userid = jObject.getString("userid");
  }
  catch(JSONException e)
  {
    e.printStackTrace();
  }
}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容