使用In-app Billing查询ProductDetails时JSON解析问题求助
解决Kodular中In-app Billing接口返回非标准JSON的解析问题
清洗响应文本,转换为标准JSON格式
接口返回的内容是Java对象ProductDetails的toString()输出拼接成的非标准格式,需要通过字符串转换修正为合法JSON:- 在Kodular中使用
Text组件的替换功能,先将响应文本里的"ProductDetails{替换为{" - 再将所有单引号
'替换为双引号"(JSON要求键和值必须用双引号包裹) - 确保保留对象末尾的
}作为合法的JSON闭合符
示例转换:
原响应片段:
["ProductDetails{id='com.test.item1', title='Test Item 1', price='$0.99'}"]
转换后:[{"id":"com.test.item1", "title":"Test Item 1", "price":"$0.99"}]- 在Kodular中使用
解析处理后的JSON
将清洗完成的文本传入Kodular的JSON Parser组件,调用Parse JSON方法,之后即可通过Get Array Item、Get Object等方法提取产品ID、标题、价格等所需数据。添加容错逻辑
为避免异常格式导致应用崩溃,可先判断响应文本是否包含ProductDetails{字符串,仅当包含时执行上述替换操作;若为标准JSON,则直接进入解析流程。
内容的提问来源于stack exchange,提问作者Javier C.
相关产品推荐
相关产品推荐

