怎样从JSON中php获取数组键值值

怎样从JSON中获取数组键值
[问题点数:50分]
怎样从JSON中获取数组键值
[问题点数:50分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|&%@ page language="java" contentType="text/ charset=utf-8"
pageEncoding="utf-8"%&
&!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&
&meta http-equiv="Content-Type" content="text/ charset=utf-8"&
&title&Test Ajax&Json&/title&
&script type="text/javascript"&
function loadJson() {
if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}else{//IE 5,6的支持
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4 && xmlHttp.status==200){
var dataObj=eval("("+xmlHttp.responseText+")");
document.getElementById("name").value=dataObj.
document.getElementById("age").value=dataObj.
//post请求
xmlHttp.open("post", "testJson?action=jsonObject", true);
xmlHttp.send();
function loadJson2() {
if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}else{//IE 5,6的支持
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4 && xmlHttp.status==200){
alert(xmlHttp.responseText);
var dataObj=eval("("+xmlHttp.responseText+")");
var em=document.getElementById("emp");
var newTr;
var newTd0;
var newTd1;
for(var i=0;i&dataObj.emp.i++){
var emp=dataObj.emp[i];
newTr=em.insertRow();
newTd0=newTr.insertCell();
newTd1=newTr.insertCell();
newTd0.innerHTML=emp.
newTd1.innerHTML=emp.
xmlHttp.open("get", "testJson?action=jsonArray", true);
xmlHttp.send();
&button onclick="loadJson()"&测试Json&/button&
姓名:&input type="text" name="name" id="name"&
年龄:&input type="text" name="age" id="age"&
&button onclick="loadJson2()"&测试Json2&/button&
&table id="emp"&
&th&姓名&/th&
&th&年龄&/th&
  请求的Servlet代码
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/charset=utf-8");
String action=req.getParameter("action");
if("jsonObject".equals(action)){
getJSONObject(req,resp);
}else if("jsonArray".equals(action)){
getJSONArray(req,resp);
private void getJSONObject(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter out =resp.getWriter();
//String str="{\"name\":\"Anner\",\"age\":24}";
JSONObject j=new JSONObject();
j.put("name", "Anner");
j.put("age", 26);
out.println(j);
out.flush();
out.close();
private void getJSONArray(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter out =resp.getWriter();
JSONArray js=new JSONArray();
JSONObject j1=new JSONObject();
j1.put("name", "Allen");j1.put("job", "办事员");
JSONObject j2=new JSONObject();
j2.put("name", "Smith");j2.put("job", "销售员");
JSONObject j3=new JSONObject();
j3.put("name", "James");j3.put("job", "技术员");
js.add(j1);js.add(j2);js.add(j3);
JSONObject resultJson=new JSONObject();
resultJson.put("emp", js);
out.println(resultJson);
out.flush();
out.close();
  Json可以进行无线嵌套,
  嵌套示例:
&%@ page language="java" contentType="text/ charset=utf-8"
pageEncoding="utf-8"%&
&!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&
&meta http-equiv="Content-Type" content="text/ charset=utf-8"&
&title&Test Ajax&Json&/title&
&script type="text/javascript"&
function loadJson() {
if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}else{//IE 5,6的支持
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4 && xmlHttp.status==200){
var dataObj=eval("("+xmlHttp.responseText+")");
var lol=document.getElementById("lol");
var newTr; // 行
var newTd0; // 第一列
var newTd1; // 第二列
var newTd2; // 第三列
for(var i=0;i&dataObj.emp.i++){
var e=dataObj.emp[i];
newTr=lol.insertRow();
newTd0=newTr.insertCell();
newTd1=newTr.insertCell();
newTd2=newTr.insertCell();
newTd0.innerHTML=e.
newTd1.innerHTML=e.
newTd2.innerHTML="loc1:"+e.loc.loc1+",loc2:"+e.loc.loc2+",loc3:"+e.loc.loc3;
xmlHttp.open("get","testJson?action=testJsonNested",true);
xmlHttp.send();
&button onclick="loadJson()"&测试Json2&/button&
&table id="lol"&
&th&姓名&/th&
&th&职业&/th&
&th&位置&/th&
  请求的Servlet代码
PrintWriter out=resp.getWriter();
JSONObject j1=new JSONObject();
j1.put("name", "无双剑姬");j1.put("job", "刺客");
JSONObject jLoc1=new JSONObject();
jLoc1.put("loc1", "上单");
jLoc1.put("loc2", "中单");
jLoc1.put("loc3", "辅佐");
j1.put("loc", jLoc1);
JSONObject j2=new JSONObject();
j2.put("name", "卡特");j2.put("job", "AP刺客");
JSONObject jLoc2=new JSONObject();
jLoc2.put("loc1", "中单");
jLoc2.put("loc2", "射手");
jLoc2.put("loc3", "打野");
j2.put("loc", jLoc2);
JSONObject j3=new JSONObject();
j3.put("name", "疾风剑豪");j3.put("job", "AD刺客");
JSONObject jLoc3=new JSONObject();
jLoc3.put("loc1", "中单");
jLoc3.put("loc2", "辅佐");
jLoc3.put("loc3", "打野");
j3.put("loc", jLoc3);
JSONArray ja=new JSONArray();
ja.add(j1);ja.add(j2);ja.add(j3);
JSONObject resultJson=new JSONObject();
resultJson.put("emp", ja);
out.println(resultJson);
out.flush();
out.close();
用户注册功能的实现(异步)
&%@ page language="java" contentType="text/ charset=utf-8"
pageEncoding="utf-8"%&
&!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&
&meta http-equiv="Content-Type" content="text/ charset=utf-8"&
&title&Test Ajax&Json&/title&
&script type="text/javascript"&
function checkRegName() {
if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}else{//IE 5,6的支持
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
var registerName=document.getElementById("registerName").
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4 && xmlHttp.status==200){
//alert(xmlHttp.responseText);
var dataObj=eval("("+xmlHttp.responseText+")");
var tip=document.getElementById("tip");
if(dataObj.exist){
tip.innerHTML="&img src='images/no.png' /&";
tip.innerHTML="&img src='images/ok.png' /&";
xmlHttp.open("get","register?action=chkName&regName="+registerName,true);
xmlHttp.send();
&th&用户注册&/th&
&td&用户名&/td&
&input type="text" name="registerName" id="registerName" onblur="checkRegName()"&
&span id="tip"&&/span&
&td&密码&/td&
&td&&input type="password" name="password" id="password" &&/td&
&td&确认密码&/td&
&td&&input type="password" name="password2" id="password2" &&/td&
  后台代码
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String action=req.getParameter("action");
String regName=req.getParameter("regName");
PrintWriter out=resp.getWriter();
if("chkName".equals(action)){
JSONObject jo=new JSONObject();
if("Allen".equals(regName)){//模拟数据库提取数据
jo.put("exist", true);
jo.put("exist", false);
out.println(jo);
out.flush();out.close();
阅读(...) 评论()没有更多推荐了,
不良信息举报
举报内容:
分别获取json对象的键值
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!&>&从格式不确定的json中读取键值对
从格式不确定的json中读取键值对
上传大小:6KB
用java对格式不确定的json串进行解析,读取其中的键值对,对于出现多次的键,可以传入索引进行键值定位!
综合评分:4
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有5条
挺好的资源
看一下 没用
应该还好吧
初步看了一下,应该还可以
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
从格式不确定的json中读取键值对
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
举报的资源分:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*详细原因:
从格式不确定的json中读取键值对

我要回帖

更多关于 php获取数组键值 的文章

 

随机推荐