如果您对JSON的String字符串与Java的List列表对象的相互转换感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于JSON的String字符串与Java的List列表
如果您对JSON的String字符串与Java的List列表对象的相互转换感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于JSON的String字符串与Java的List列表对象的相互转换的详细内容,我们还将为您解答json list string的相关问题,并且为您提供关于c#中string字符串转为json与json转对象、C++之stringstream(字符串与数字相互转换)、C风格字符串和C++string对象的相互转化、fastjson 之常见的数据类型与json的相互转换的有价值信息。
本文目录一览:- JSON的String字符串与Java的List列表对象的相互转换(json list string)
- c#中string字符串转为json与json转对象
- C++之stringstream(字符串与数字相互转换)
- C风格字符串和C++string对象的相互转化
- fastjson 之常见的数据类型与json的相互转换
JSON的String字符串与Java的List列表对象的相互转换(json list string)
在前端:
1.如果json是List对象转换的,可以直接遍历json,读取数据。
2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所示:
var jsonStr = JSON.stringify(list); var param= {}; param.jsonStr=jsonStr;
在后台:
1.把String转换为List(str转换为list)
List<T> list = new ArrayList<T>(); JSONArray jsonArray = JSONArray.fromObject(str);//把String转换为json list = JSONArray.toList(jsonArray,t);//这里的t是Class<T>
2.把List转换为json
JSONArray json = JSONArray.fromObject(object); String str = json.toString();//把json转换为String
eg:
1. 根据页面用户输入的信息形成 Answer 对象的List
/** * @param answers * @param question_ids * @param types * @return */ private List<Answer> toAnswerList(String[] studenAnswers,int[] question_ids,int[] types,int[] scores) { List<Answer> answerList = new ArrayList<Answer>(); if(studenAnswers!=null && question_ids!= null && types!= null&& scores!= null){ for (int i = 0; i < studenAnswers.length; i++) { Answer answer = new Answer(); String studenAnswer = studenAnswers[i]; int type = types[i]; int question_id = question_ids[i]; int score = scores[i]; answer.setQuestion_id(question_id); answer.setscore(score); answer.setStudenAnswer(studenAnswer); answer.setType(type); answerList.add(answer); } } return answerList; } /** * 将一个json字串转为list * @param props * @return */ public static List<Answer> converAnswerFormString(String answer){ if (answer == null || answer.equals("")) return new ArrayList(); JSONArray jsonArray = JSONArray.fromObject(answer); List<Answer> list = (List) JSONArray.toCollection(jsonArray,Answer.class); return list; }
2. 将一个 Answer 对象的List 生成Json字串,是根据客户端页面用户输入的信息生成的
public String getAnswerString(String[] studenAnswers,int[] scores) { List list = toAnswerList(studenAnswers,question_ids,types,scores); JSONArray jsonarray = JSONArray.fromObject(list); return jsonarray.toString(); }
PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat
在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans
C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
c#中string字符串转为json与json转对象
添加引用,Newtonsoft.Json.dll
using Newtonsoft.Json.Linq;
1 //字符串转json
2 public static void strJson()
3 {
4 string jsonText = "{"shenzheng":"深圳","beijing":"北京","shanghai":[{"zj1":"zj11","zj2":"zj22"},"zjs"]}";
5
6 JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText);//或者JObject jo = JObject.Parse(jsonText);
7 string zone = jo["shenzheng"].ToString();//输出 "深圳"
8 string zone_en = jo["shanghai"].ToString();//输出 "[{"zj1":"zj11","zj2":"zj22"},"zjs"]"
9 string zj1 = jo["shanghai"][1].ToString();//输出 "zjs"
10 Console.WriteLine(jo);
11 }
1 //对象与数组转JSON
2 public static void GetJsonString()
3 {
4 //初始化对象
5 Obj product = new Obj() { Name = "苹果", Price = 5.5 };
6 //序列化
7 string o = new JavaScriptSerializer().Serialize(product);//值:"{\"Name\":\"苹果\",\"Price\":5.5}"
8
9 //数组转json
10 List<Obj> products = new List<Obj>(){
11 new Obj(){Name="苹果",Price=5.5},
12 new Obj(){Name="橘子",Price=2.5},
13 new Obj(){Name="干柿子",Price=16.00}
14 };
15
16 ProductList productlist = new ProductList();
17 productlist.GetProducts = products;
18 //序列化
19 string os = new JavaScriptSerializer().Serialize(productlist);
20 //输出 "{\"GetProducts\":[{\"Name\":\"苹果\",\"Price\":5.5},{\"Name\":\"橘子\",\"Price\":2.5},{\"Name\":\"干柿子\",\"Price\":16}]}"
21 }
22
23 //json转对象、数组, 反序列化
24 public static void JSONStringToList()
25 {
26
27 //json格式字符串
28 string JsonStr = "{Name:''苹果'',Price:5.5}";
29 JavaScriptSerializer Serializer = new JavaScriptSerializer();
30
31 //json字符串转为对象, 反序列化
32 Obj obj = Serializer.Deserialize<Obj>(JsonStr);
33 Console.Write(obj.Name + ":" + obj.Price + "\r\n");
34
35 //json格式字符串
36 string JsonStrs = "[{Name:''苹果'',Price:5.5},{Name:''橘子'',Price:2.5},{Name:''柿子'',Price:16}]";
37
38 JavaScriptSerializer Serializers = new JavaScriptSerializer();
39
40 //json字符串转为数组对象, 反序列化
41 List<Obj> objs = Serializers.Deserialize<List<Obj>>(JsonStrs);
42
43 foreach (var item in objs)
44 {
45 Console.Write(item.Name + ":" + item.Price + "\r\n");
46 }
47 }
C++之stringstream(字符串与数字相互转换)
1.stringstream数字与字符串相互转换
#include <sstream>
#include <iostream>
#include <string>
#include <typeinfo>
using namespace std;
int main()
{
stringstream stream;
string buf = "1234";
int i;
//1.字符串转换为整形
stream << buf;//插入字符串
stream >> i; //字符串转换成int类型
cout << "typeinfo(i) = " << typeid(i).name() << ", i = "<< i <<endl;
stream.clear();
//2.整形转字符串
int j = 1000;
stream << j;//将int流输入
stream >> buf;//将int类型转为字符串,放入buf
cout << "typeinfo(buf) = " << typeid(buf).name() << ", buf = "<< buf <<endl;
}
2.字符换与数字结合
#include <sstream>
#include <iostream>
#include <string>
#include <typeinfo>
using namespace std;
int main(){
stringstream stream;
int port = 1;
stream << "/dev/video" << port; //: /dev/video0
string str(stream.str());
cout <<"stream.str() = " << stream.str() <<endl;//: /dev/video0
cout <<"str = "<< str << endl;
cout <<"str.c_str() = " <<str.c_str() <<endl;
}
C风格字符串和C++string对象的相互转化
一、C风格的字符串转化为C++的string对象
#include <iostream>
#include <string>
using namespace std;
int main() {
char str[] = "hello, world!"; //char str[] = "hello, world!";
string str2(str); //string str2 = str;
cout << "C风格:" << str << endl;
cout << "C++风格:" << str2 << endl;
return 0;
}
二、C++的string对象转化为C风格的字符串
const char* mystr = str.c_str(),在这里注意要加上const,因为c_str()返回的是const char *类型
fastjson 之常见的数据类型与json的相互转换
public class FastJsonTest1 { /** * 数组转json格式字符串 */ public void array2Json(){ String[] arr = {"bill","green","maks","jim"}; String jsonText = JSON.toJSONString(arr,true); System.out.println("array2Json()方法:jsonText=="+jsonText); // 输出结果:jsonText==["bill","jim"] } /** * json格式字符串转数组 */ public void json2Array(){ String jsonText = "[\"bill\",\"green\",\"maks\",\"jim\"]"; JSONArray jsonArr = JSON.parseArray(jsonText); System.out.println("json2Array()方法:jsonArr=="+jsonArr); // 输出结果:jsonArr==["bill","jim"] } /** * 数组转json格式字符串 */ public void array2Json2(){ User user1 = new User("P001","TOM",16); User user2 = new User("P002","JACKSON",21); User user3 = new User("P003","MARTIN",20); User[] userArr = {user1,user2,user3}; String jsonText = JSON.toJSONString(userArr,true); System.out.println("array2Json2()方法:jsonText=="+jsonText); //输出结果:jsonText==[{"age":16,"id":"P001","name":"TOM"},{"age":21,"id":"P002","name":"JACKSON"},{"age":20,"id":"P003","name":"MARTIN"}] } /** * json格式字符串转数组 */ public void json2Array2(){ String jsonText = "[{\"age\":16,\"id\":\"P001\",\"name\":\"TOM\"},{\"age\":21,\"id\":\"P002\",\"name\":\"JACKSON\"},{\"age\":20,\"id\":\"P003\",\"name\":\"MARTIN\"}]"; JSONArray jsonArr = JSON.parseArray(jsonText); System.out.println("json2Array2()方法:jsonArr=="+jsonArr); // 输出结果:jsonArr==[{"age":16,"name":"MARTIN"}] } /** * list集合转json格式字符串 */ public void list2Json(){ List list = new ArrayList(); User user1 = new User("L001",16); list.add(user1); User user2 = new User("L002",21); list.add(user2); User user3 = new User("L003",20); list.add(user3); String jsonText = JSON.toJSONString(list,true); System.out.println("list2Json()方法:jsonText=="+jsonText); //输出结果:jsonText==[{"age":16,"id":"L001","id":"L002","id":"L003","name":"MARTIN"}] } /** * list集合转json格式字符串 */ public void list2Json2(){ List list = new ArrayList(); Address address1 = new Address("广东省","深圳市","科苑南路","580053"); User user1 = new User("L001",16,address1); list.add(user1); Address address2 = new Address("江西省","南昌市","阳明路","330004"); User user2 = new User("L002",21,address2); list.add(user2); Address address3 = new Address("陕西省","西安市","长安南路","710114"); User user3 = new User("L003",20,address3); list.add(user3); String jsonText = JSON.toJSONString(list,true); System.out.println("list2Json2()方法:jsonText=="+jsonText); //输出结果:jsonText==[{"address":{"city":"深圳市","post":"580053","province":"广东省","street":"科苑南路"},"age":16,{"address":{"city":"南昌市","post":"330004","province":"江西省","street":"阳明路"},"age":21,{"address":{"city":"西安市","post":"710114","province":"陕西省","street":"长安南路"},"age":20,"name":"MARTIN"}] } /** * map转json格式字符串 */ public void map2Json(){ Map map = new HashMap(); Address address1 = new Address("广东省","580053"); map.put("address1",address1); Address address2 = new Address("江西省","330004"); map.put("address2",address2); Address address3 = new Address("陕西省","710114"); map.put("address3",address3); String jsonText = JSON.toJSONString(map,true); System.out.println("map2Json()方法:jsonText=="+jsonText); //输出结果:jsonText=={"address1":{"city":"深圳市","address2":{"city":"南昌市","address3":{"city":"西安市","street":"长安南路"}} } }
关于JSON的String字符串与Java的List列表对象的相互转换和json list string的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于c#中string字符串转为json与json转对象、C++之stringstream(字符串与数字相互转换)、C风格字符串和C++string对象的相互转化、fastjson 之常见的数据类型与json的相互转换的相关知识,请在本站寻找。
本文标签: