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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容