您的位置:

传json服务器(服务器返回json数据)

传json服务器(服务器返回json数据)

更新:

本文目录一览:

json 通过ip地址传数据到服务器

json只是一个字符串数据格式而已,我没记错的话格式好像是键值对的(我几年没看了),{键:值;键:值},不记得是不是这样,你既然说了用JS,那你应该是在做网页吧。如果不想刷新页面,用Ajax就可以了。或者你直接用Post表单的形式传送也可以,只要你服务器端能收到数据就行了。JSON就是一个字符串。传输到服务器你自己处理就可以了。我还从来没用JSON,w3cSchool的教程就像说明书,很简陋,自己找本好书看吧

如何使用JSON格式 POST数据到服务器

1. JSON的数据格式

a) 按照最简单的形式,可以用下面这样的 JSON 表示名称/值对:

{ "firstName": "Brett" }

b) 可以创建包含多个名称/值对的记录,比如:

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" }

c) 可以创建值的数组

{ "people": [

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },

{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" }

]}

d) 当然,可以使用相同的语法表示多个值(每个值包含多个记录):

{ "programmers": [

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },

{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" }

],

"authors": [

{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },

{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" }

],

"musicians": [

{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }

]

}

注意,在不同的主条目(programmers、authors 和 musicians)之间,记录中实际的名称/值对可以不一样。JSON 是完全动态的,允许在 JSON 结构的中间改变表示数据的方式。

2. 在 JavaScript 中使用 JSON

JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。

2.1 将 JSON 数据赋值给变量

例如,可以创建一个新的 JavaScript 变量,然后将 JSON 格式的数据字符串直接赋值给它:

var people =

{ "programmers": [

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },

{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" }

],

"authors": [

{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },

{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" }

],

"musicians": [

{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }

]

}

2.2 访问数据

将这个数组放进 JavaScript 变量之后,就可以很轻松地访问它。实际上,只需用点号表示法来表示数组元素。所以,要想访问 programmers 列表的第一个条目的姓氏,只需在JavaScript 中使用下面这样的代码:

people.programmers[0].lastName;

注意,数组索引是从零开始的。

2.3 修改 JSON 数据

正如访问数据,可以按照同样的方式修改数据:

people.musicians[1].lastName = "Rachmaninov";

2.4 转换回字符串

a) 在 JavaScript 中这种转换也很简单:

String newJSONtext = people.toJSONString();

b) 可以将任何 JavaScript 对象转换为 JSON 文本。并非只能处理原来用 JSON 字符串赋值的变量。为了对名为 myObject 的对象进行转换,只需执行相同形式的命令:

String myObjectInJSON = myObject.toJSONString();

说明:将转换回的字符串作为Ajax调用的字符串,完成异步传输。

小结:如果要处理大量 JavaScript 对象,那么 JSON 几乎肯定是一个好选择,这样就可以轻松地将数据转换为可以在请求中发送给服务器端程序的格式。

3. 服务器端的 JSON

3.1 将 JSON 发给服务器

a) 通过 GET 以名称/值对发送 JSON

在 JSON 数据中会有空格和各种字符,Web 浏览器往往要尝试对其继续编译。要确保这些字符不会在服务器上(或者在将数据发送给服务器的过程中)引起混乱,需要在JavaScript的escape()函数中做如下添加:

var url = "organizePeople.php?people=" + escape(people.toJSONString());

request.open("GET", url, true);

request.onreadystatechange = updatePage;

request.send(null);

b) 利用 POST 请求发送 JSON 数据

当决定使用 POST 请求将 JSON 数据发送给服务器时,并不需要对代码进行大量更改,如下所示:

var url = "organizePeople.php?timeStamp=" + new Date().getTime();

request.open("POST", url, true);

request.onreadystatechange = updatePage;

request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

request.send(people.toJSONString());

注意:赋值时格式必须是var msg=eval('(' + req.responseText + ')');

3.2 在服务器上解释 JSON

a) 处理 JSON 的两步骤。

针对编写服务器端程序所用的语言,找到相应的 JSON 解析器/工具箱/帮助器 API。

使用 JSON 解析器/工具箱/帮助器 API 取得来自客户机的请求数据并将数据转变成脚本能理解的东西。

b) 寻找 JSON 解析器

寻找 JSON 解析器或工具箱最好的资源是 JSON 站点。如果使用的是 Java servlet,json.org 上的 org.json 包就是个不错的选择。在这种情况下,可以从 JSON Web 站点下载 json.zip 并将其中包含的源文件添加到项目构建目录。编译完这些文件后,一切就就绪了。对于所支持的其他语言,同样可以使用相同的步骤;使用何种语言取决于您对该语言的精通程度,最好使用您所熟悉的语言。

c) 使用 JSON 解析器

一旦获得了程序可用的资源,剩下的事就是找到合适的方法进行调用。如果在 servlet 中使用的是 org.json 包,则会使用如下代码:

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

StringBuffer jb = new StringBuffer();

String line = null;

try {

BufferedReader reader = request.getReader();

while ((line = reader.readLine()) != null)

jb.append(line);

} catch (Exception e) { //report an error }

try {

JSONObject jsonObject = new JSONObject(jb.toString());

} catch (ParseException e) {

// crash and burn

throw new IOException("Error parsing JSON request string");

}

// Work with the data using methods like...

// int someInt = jsonObject.getInt("intParamName");

// String someString = jsonObject.getString("stringParamName");

// JSONObject nestedObj = jsonObject.getJSONObject("nestedObjName");

// JSONArray arr = jsonObject.getJSONArray("arrayParamName");

// etc...

}

如何上传json格式的数据到服务器?

首先,你可以手动拼json。然后是人ajax的方式,或者window.loacation=url的方式向服务端提交。

其次,但是不管你怎么拼,都不能发送图片等文件到服务器!

这并不是说json格式不行,而是在页面上发送信息到服务端的时候文件类的是由浏览器自动转为流的,而你在页面上的任何脚本都不能读取文件!

json数据上传到服务器的方式有哪些

如果图片已经在服务器上,你把图片在服务器的相对路径字符串作为JSON的属性传过去,不是就能显示了?

如果图片是需要上传的,浏览器的window有个FileReader对象,调用filereader.readAsDataURL()这个方法能转换成实际要传的数据,格式就是JSON的。

JSON传递的问题

//你应该用Gson的jar包来解析的啊、因为Android的客户端都是用这个JAR包的、

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Iterator;

import java.util.Map.Entry;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import java.util.Set;

import com.google.gson.JsonArray;

import com.google.gson.JsonElement;

import com.google.gson.JsonObject;

import com.google.gson.JsonParser;

public class Gson extends JFrame

{

private static final long serialVersionUID = 1L;

private JTextArea left = new JTextArea();

private JTextArea right = new JTextArea();

public Gson()

{

setTitle("解析JSON");

setSize(800, 500);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setLocationRelativeTo(null);

JButton btn = new JButton("解析");

btn.addActionListener(new ActionListener()

{

@Override

public void actionPerformed(ActionEvent e)

{

String json = left.getText();

JsonParser parser = new JsonParser();

JsonElement obj = parser.parse(json);

right.setText("");

dir(obj);

}

});

setLayout(new BorderLayout());

JPanel panel = new JPanel();

panel.setLayout(new GridLayout(1, 2));

left.setLineWrap(true);

right.setLineWrap(true);

JScrollPane p1 = new JScrollPane(left);

JScrollPane p2 = new JScrollPane(right);

panel.add(p1);

panel.add(p2);

add(panel, BorderLayout.CENTER);

add(btn, BorderLayout.SOUTH);

setVisible(true);

}

private void dir(Object obj)

{

if(obj instanceof JsonObject)

{

JsonObject object = (JsonObject) obj;

SetEntryString, JsonElement entry = object.entrySet();

IteratorEntryString, JsonElement it = entry.iterator();

while(it.hasNext())

{

EntryString, JsonElement elem = it.next();

String key = elem.getKey();

JsonObject oob;

try

{

oob = (JsonObject) elem.getValue();

right.append("\r\n" + key + "---" + oob + "\r\n");

dir(oob);

}

catch(Exception e)

{

JsonElement element = elem.getValue();

right.append("\r\n" + key + "---" + element + "\r\n");

dir(element);

}

}

right.append("\r\n");

}

else if(obj instanceof JsonArray)

{

JsonArray array = (JsonArray) obj;

for(int i = 0; i  array.size(); i++)

{

JsonElement element = array.get(i);

right.append(element + "\r\n");

dir(element);

}

right.append("\r\n");

}

}

public static void main(String[] args)

{

new Gson();

}

}

传json服务器(服务器返回json数据)

本文目录一览: 1、json 通过ip地址传数据到服务器 2、如何使用JSON格式 POST数据到服务器 3、如何上传json格式的数据到服务器? 4、json数据上传到服务器的方式有哪些 5、JSO

2023-12-08
服务器接收json数据(服务器返回json)

本文目录一览: 1、简述读取网站服务器上json的步骤 2、php服务器端怎样接收来自android的json数据.android以post方式发送 3、.net mvc服务端怎么接收客户端的发送的j

2023-12-08
java服务端json工具类(json接口服务开发)

本文目录一览: 1、JAVA JSON 写个工具类 2、java中处理json格式数据的类? 3、java中服务端怎么实现jsonp 4、java中处理JSON的开源工具都有些什么?那个比较好用 5、

2023-12-08
文件上传返回json数据(文件上传返回json数据错误)

本文目录一览: 1、同时返回文件和json 2、jQuery.form.js 使用ajaxForm、ajaxSubmit提交表单上传文件后服务器端返回json数据IE浏览器无法解析。 3、jquery

2023-12-08
json接收服务器,json接口服务开发

2022-11-25
从外部服务器接收json,外部服务器是什么

本文目录一览: 1、服务器端怎么接收Android客户端传过来的Json数据 2、接收到服务器传过来的json数据 怎么转成javascript对象 3、postman发送json数据 ,服务端接收j

2023-12-08
无法从json服务器获取数据(发送json数据给服务器)

本文目录一览: 1、手机的2g(gprs)网络无法获取服务器返回的json格式的数据? 2、请求.获取json数据报错.什么原因 3、安卓项目无法访问服务器上的json数据,拜托!200分 手机的2g

2023-12-08
js如何获取服务器数据,js如何获取服务器返回的数据

本文目录一览: 1、如何用JS解析服务器中xml文件的内容 2、怎么在js里面获取数据库的数据 3、js提交表单后,怎么获取服务器的返回值 4、如何通过JS接口获取数据 5、js如何获取缓存 6、Ja

2023-12-08
使用json格式与服务器交互,使用json格式与服务器交互文

2022-11-25
服务器页数和数据json(数据访问页分为)

本文目录一览: 1、json的简单介绍及基本使用 2、服务器端JSON数据或者xml数据如何设置 3、服务器端和客户端进行json数据传输,json是不是也是通过http协议进行字节流传输的? 4、从

2023-12-08
javajsonp接口(java开发api接口返回json)

本文目录一览: 1、如何在java代码中执行jsonp请求 2、jsonp公开接口返回中文乱码问题 3、java中服务端怎么实现jsonp 4、java写一个接口实现将移动端的数据存放到数据库指定的表

2023-12-08
jsp给服务器传输数据格式(jsp地址传值)

本文目录一览: 1、jsp页面怎么用上传文件到服务器 2、jsp 怎么获取服务器传回的字节型数据 3、怎么用jsp生成json格式数据,然后用js又怎样读取其数据? jsp页面怎么用上传文件到服务器

2023-12-08
向php服务器发送json数据,php jsonp

2022-11-17
mock.js服务器(mock平台服务器)

本文目录一览: 1、vue中使用mockjs简单返回数据、包括get,post请求 2、mock.js的使用方法 3、Mock.js使用 4、mock.js 原生ajax多次请求 5、mockjs如何

2023-12-08
通过json上传到服务器端的简单介绍

本文目录一览: 1、json数据上传到服务器的方式有哪些 2、Android端用json批量上传多图片,求服务端代码,如何解析并保存到服务器。谢谢各位大神 3、如何使用JSON格式 POST数据到服务

2023-12-08
向服务器发送json格式字符串(json字符串转字符串)

本文目录一览: 1、前台往后台传送JSON格式的字符串为什么JAVA后台接收的时候总报错! 2、如何用post方法向服务器发送一个json类型的字符串 3、php如何发送和接收JSON数据 4、如何上

2023-12-08
webservice使用json(webservice服务)

本文目录一览: 1、如何让webservice输出json格式 2、如何在调用webserver的时候直接返回一个json的数据 3、JAVA 开发 怎么让webservice输出 json格式字符串

2023-12-08
搭建json服务器并实现鉴权的简单介绍

2022-11-24
jsonunity服务器(jsonutility)

本文目录一览: 1、怎么把unity3D项目投放到服务器上 2、Unity3d的5.4版使用JsonUtility.FromJson序列化JSON,多次使用后数据不更新 3、unity3d支持json

2023-12-08
查询数据库返回json,查询数据库返回list

2022-11-23