json解析问题 用java语言

现在服务器发来形如
{"ret_val":0,
"pay_url":"https://qr.95516.com/00010001/62034325710998146707413908014385",
"OrderID":"HF0050545815180409161523725999"}
这样的json数据,
我如何得到每个属性的值呢?

24个回答

可以通过json的jar包进行解析
public class JSONTest {
public static void main(String[] args) {
String sTotalString = "[{id:'001',name:'张三',age:'32'},{id:'002',name:'张四',age:'11'},{id:'003',name:'张五',age:'20'}]";
try {
// 把字符串转换为JSONArray对象
JSONArray jsonArray = JSONArray.fromObject(sTotalString);
if(jsonArray.size() > 0){
// 遍历 jsonarray 数组,把每一个对象转成 json 对象
for(int i = 0; i < jsonArray.size(); i++){
JSONObject jsonObject = jsonArray.getJSONObject(i);
System.out.println(jsonObject.get("id"));
System.out.println(jsonObject.get("name"));
System.out.println(jsonObject.get("age"));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

JSONObject jsonobject = JSONObject.parseJSON(<你的json串>);
jsonobject.get();

接受到的数据应该是Object类型的,通过JSONObject.fromObject()来转成JSON类型,通过getString()可以取到值,另外还有许多插件如gson等可以处理json对象

或者在页面解析//JSON.parse()这个方法的输出结果同样为30
var evals='{"张三":30,"李四":25}';
var jsonObject=JSON.parse(evals);
alert(jsonObject.张三);

如果你用String接收的这个信息:
比如用“json”字段接收
1.// String转换成jsonArray或者jsonObject 如果是数组类型用array对象类型用object,看您的情况用object
JSONObject obj = JSONObject.fromObject(json);
//然后用个体方法根据key取值
String val = obj.getString("ret_val");
String url = obj.getString("pay_url");
希望对你有帮助
json包是net.st的别倒错

JSONArray jsonArray = JSONArray.fromObject(json字符串);转换下,循环取值

String转换成jsonArray或者jsonObject 如果是数组类型用array对象类型用object,看您的情况用object
JSONObject obj = JSONObject.fromObject(json)

JSONObject json = JSONObject.fromObject(jsonStr);
String ret_val=json.getString("ret_val"));

...类似

//获得上面的json字串Str
// 将json字符串转化Json对象
JSONObject json = JSONObject.parseObject(str);
String retval=json.getString("ret_val");
String payUrl=json.getString("pay_url");
String orderId=json.getString("OrderID");

你可以通过fastjson框架来实现

共24条数据 1 3 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐