GVKun编程网logo

JSON的String字符串与Java的List列表对象的相互转换(json list string)

12

如果您对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)

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转对象

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(字符串与数字相互转换)

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对象的相互转化

一、C风格的字符串转化为C++的string对象

C++中,string 类能够自动将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风格的字符串

string提供一个方法可以直接返回字符串的首指针地址,即string.c_str()。比如string str = "Hi !"转换为char*类型。

const char* mystr = str.c_str(),在这里注意要加上const,因为c_str()返回的是const char *类型

 

 

fastjson 之常见的数据类型与json的相互转换

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的相互转换的相关知识,请在本站寻找。

本文标签: