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();
  }
}

你可能感兴趣的:(java代码中对cjson的解析)