1. java怎么把oracle数据生成json嵌套格式
import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; public class TestJson { public static void main(String[] args) { JSONObject jsonObj = new JSONObject();//创建json格式的数据 JSONArray jsonArr = new JSONArray();//json格式的数组 JSONObject jsonObjArr = new JSONObject(); try { jsonObjArr.put("item1", "value1"); jsonObjArr.put("item2", "value2"); jsonArr.put(jsonObjArr);//将json格式的数据放到json格式的数组里 jsonObj.put("rows", jsonArr);//再将这个json格式的的数组放到最终的json对象中。
System.out.println(jsonObj.toString()); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 最终程序生成的数据格式就如下: {"rows":[{"item1":"value1","item2":"value2"}]}。
2. C#怎么取带嵌套的格式一致的JSON
Web Service接口方法 [WebMethod]public string Project(string paramaters){return paramaters;}实现代码public string Post(string methodName, string jsonParas){string strURL = Url + "/" + methodName;//创建一个HTTP请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);//Post请求方式 request.Method = "POST";//内容类型request.ContentType = "application/x-www-form-urlencoded";//设置参数,并进行URL编码 //虽然我们需要传递给服务器端的实际参数是JsonParas(格式:[{\"UserID\":\"0206001\",\"UserName\":\"ceshi\"}]),//但是需要将该字符串参数构造成键值对的形式(注:"paramaters=[{\"UserID\":\"0206001\",\"UserName\":\"ceshi\"}]"),//其中键paramaters为WebService接口函数的参数名,值为经过序列化的Json数据字符串//最后将字符串参数进行Url编码string paraUrlCoded = System.Web.HttpUtility.UrlEncode("paramaters");paraUrlCoded += "=" + System.Web.HttpUtility.UrlEncode(jsonParas);byte[] payload;//将Json字符串转化为字节 payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);//设置请求的ContentLength request.ContentLength = payload.Length;//发送请求,获得请求流 Stream writer;try{writer = request.GetRequestStream();//获取用于写入请求数据的Stream对象}catch (Exception){writer = null;Console.Write("连接服务器失败!");}//将请求参数写入流writer.Write(payload, 0, payload.Length);writer.Close();//关闭请求流String strValue = "";//strValue为http响应所返回的字符流HttpWebResponse response;try{//获得响应流response = (HttpWebResponse)request.GetResponse();}catch (WebException ex){response = ex.Response as HttpWebResponse;}Stream s = response.GetResponseStream();//服务器端返回的是一个XML格式的字符串,XML的Content才是我们所需要的Json数据XmlTextReader Reader = new XmlTextReader(s);Reader.MoveToContent();strValue = Reader.ReadInnerXml();//取出Content中的Json数据Reader.Close();s.Close();return strValue;//返回Json数据}Url的格式样例:"http://59.68.29.106:8087/IFT_Project.asmx" methodName参数就是"Project" JsonParas就是使用C# JavaScriptSerializer将List
request.ContentType必须设置值,建议使用"application/x-www-form-urlencoded",设置其他值就很容易报服务器内部异常,使用这种方式服务接口方法返回的是xml格式的字符串 payload将请求参数转换成二进制来保存,此处一定要将“paramaters”加入其中,不然会报异常缺少参数,paramaters就是服务接口函数的参数名。函数中使用了URL编码,注意在编码的时候只需要将键和值进行编码,不要将中间的=进行编码,不然getResponse的时候会报异常。
request.ContentLength也是必须设置的值 在得到响应流之后Stream s = response.GetResponseStream();需要使用Reader来解析响应流,这个地方我使用的是XmlTextReader,因为我服务方法返回的是xml格式的字符串,其中Json数据在xml的Content中。在取出Json数据之后,再进行相应的反序列化即可得到对象。
3. C#怎么取带嵌套的格式一致的JSON?
Web Service接口方法 [WebMethod]public string Project(string paramaters){return paramaters;}实现代码public string Post(string methodName, string jsonParas){string strURL = Url + "/" + methodName;//创建一个HTTP请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);//Post请求方式 request.Method = "POST";//内容类型request.ContentType = "application/x-www-form-urlencoded";//设置参数,并进行URL编码 //虽然我们需要传递给服务器端的实际参数是JsonParas(格式:[{\"UserID\":\"0206001\",\"UserName\":\"ceshi\"}]),//但是需要将该字符串参数构造成键值对的形式(注:"paramaters=[{\"UserID\":\"0206001\",\"UserName\":\"ceshi\"}]"),//其中键paramaters为WebService接口函数的参数名,值为经过序列化的Json数据字符串//最后将字符串参数进行Url编码string paraUrlCoded = System.Web.HttpUtility.UrlEncode("paramaters");paraUrlCoded += "=" + System.Web.HttpUtility.UrlEncode(jsonParas);byte[] payload;//将Json字符串转化为字节 payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);//设置请求的ContentLength request.ContentLength = payload.Length;//发送请求,获得请求流 Stream writer;try{writer = request.GetRequestStream();//获取用于写入请求数据的Stream对象}catch (Exception){writer = null;Console.Write("连接服务器失败!");}//将请求参数写入流writer.Write(payload, 0, payload.Length);writer.Close();//关闭请求流String strValue = "";//strValue为http响应所返回的字符流HttpWebResponse response;try{//获得响应流response = (HttpWebResponse)request.GetResponse();}catch (WebException ex){response = ex.Response as HttpWebResponse;}Stream s = response.GetResponseStream();//服务器端返回的是一个XML格式的字符串,XML的Content才是我们所需要的Json数据XmlTextReader Reader = new XmlTextReader(s);Reader.MoveToContent();strValue = Reader.ReadInnerXml();//取出Content中的Json数据Reader.Close();s.Close();return strValue;//返回Json数据}Url的格式样例:"http://59.68.29.106:8087/IFT_Project.asmx" methodName参数就是"Project" JsonParas就是使用C# JavaScriptSerializer将List
request.ContentType必须设置值,建议使用"application/x-www-form-urlencoded",设置其他值就很容易报服务器内部异常,使用这种方式服务接口方法返回的是xml格式的字符串 payload将请求参数转换成二进制来保存,此处一定要将“paramaters”加入其中,不然会报异常缺少参数,paramaters就是服务接口函数的参数名。函数中使用了URL编码,注意在编码的时候只需要将键和值进行编码,不要将中间的=进行编码,不然getResponse的时候会报异常。
request.ContentLength也是必须设置的值 在得到响应流之后Stream s = response.GetResponseStream();需要使用Reader来解析响应流,这个地方我使用的是XmlTextReader,因为我服务方法返回的是xml格式的字符串,其中Json数据在xml的Content中。在取出Json数据之后,再进行相应的反序列化即可得到对象。
4. JSON语言怎么写
JSON它不是一门语言,它只是一种数据格式。
1、JSON 是一种数据格式。它本身是一串字符串,只是它有固定格式的字符串,符合这个数据格式要求的字符串,我们称之为JSON。
2、JSON 常用来数据传输,因为它易于程序之前读写操作。
3、JSON 它其实是来自JavaScript对对象(Object)的定义。但是它作为数据格式来使用的时候,和JavaScript没有任何关系,它只是参照了JavaScript对对象定义的数据格式。
具体可以参考以下内容:
JSON是什么?
JSON简介
JSON的使用
5. android使用gson解析嵌套复杂的json数据,数据怎么显示到布局上,
首先先讲一个比较简单点的例子(最简单的我就不讲啦,网上很多),帮助新手理解Gson的使用方法:
比如我们要解析一个下面这种的Json:
String json = {"a":"100","b":[{"b1":"b_value1","b2":"b_value2"},{"b1":"b_value1","b2":"b_value2"}],"c":{"c1":"c_value1","c2":"c_value2"}}
首先我们需要定义一个序列化的Bean,这里采用内部类的形式,看起来会比较清晰一些:
public class JsonBean {
public String a;
public List<B> b;
public C c;
public static class B {
public String b1;
public String b2;
}
public static class C {
public String c1;
public String c2;
}
}
很多时候大家都是不知道这个Bean是该怎么定义,这里面需要注意几点:
1、内部嵌套的类必须是static的,要不然解析会出错;
2、类里面的属性名必须跟Json字段里面的Key是一模一样的;
3、内部嵌套的用[]括起来的部分是一个List,所以定义为 public List<B> b,而只用{}嵌套的就定义为 public C c,
具体的大家对照Json字符串看看就明白了,不明白的我们可以互相交流,本人也是开发新手!
Gson gson = new Gson();
java.lang.reflect.Type type = new TypeToken<JsonBean>() {}.getType();
JsonBean jsonBean = gson.fromJson(json, type);
然后想拿数据就很简单啦,直接在jsonBean里面取就可以了!
如果需要解析的Json嵌套了很多层,同样可以可以定义一个嵌套很多层内部类的Bean,需要细心的对照Json字段来定义哦。
6. 在php写有多层嵌套的json
php解析多层 json嵌套
for ($i = 0; $i < $count_json2; $i++)
{
$title = $de_json2[0]['result']['data'][0]['title'];
$imtro = $de_json2[0]['result']['data'][0]['imtro'];
$stepsimg1 = $de_json2[0]['result']['data'][0]['steps'][0]['img'];
$stepsstep1 = $de_json2[0]['result']['data'][0]['steps'][0]['step'];
echo "步骤1: " .$stepsstep1 ."<br>";
7. JSON语言怎么写
JSON是一种文本格式,并不是一门语言。
JSON格式包含以下几种元素: Object: 由 '{' 开始,'} 结束,如 '{}' (注意不包含单引号)就定义了一个空的对象,对象中可以包含属性,属性是由属性名,':' 和属性值,其中属性名应该用双引号括起来,如: { "id" : 123 } ,定义了一个Object,里面有一个名为 "id" 的属性,id属性的值为 123. Array: Array是一个列表,由 '[' 开始 ']' 结束,其中各个元素用 ',' 分开,元素可以是对象,值(下面讨论)或者数组,如: [ "abc", 123, true ] 定义了一个数组,第一个元素是一个字符串,第二个是数字,第三个是boolean 类型值 Value: value 是json中的基本值,value 可以为用双引号括起来的字符串,一个数字,或者 true, false, null中的任何一个,或者一个对象或e799bee5baa6e4b893e5b19e31333431363634者数组,如: { "id": 1, "values": [ "a", 1, true, false, null, [1, 2, 3], {} ], "subObject": { } } 可以看到,最外面定义了一个对象,该对象有三个属性,分别为 id, values 和 subObject,id为 1,values 为一个数组,数组中分别包含了上面values中介绍的各种值,而subObject属性是另一个对象(即对象可以嵌套),而且可以任意嵌套,数组中可以嵌套对象,对象中又可以添加值为数组的属性。 最后,给你一个参考链接:http://json.org/。