`
5xnl
  • 浏览: 24142 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

将Json格式的拍拍区域js文件转换为insert...格式的sql文件

    博客分类:
  • json
阅读更多
拍拍区域js文件网址:http://static.paipaiimg.com/js/regiondata.js?t=20091111

树形结构网址:http://pop.paipai.com/resources/address.html

需取出js文件中的Json数据,不能直接使用js文件。

代码如下:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Iterator;
import java.util.Map;

import com.winxuan.paipai.domain.area.PaipaiArea;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

/**
 * 将拍拍Json格式的js文件转换为insert...格式的sql文件
 * 
 * @author qiaoyao
 * @version 1.0,2010-6-13
 */
public class PaipaiAreaTest {

	private static final String insertNoParent = "insert into paipai_area(id,name,available) values(%d,'%s',1);";
	private static final String insertWidthParent = "insert into paipai_area(id,name,available,parent) values(%d,'%s',1,%d);";
	private static BufferedWriter output;

	public static void main(String[] args) throws IOException {
		output = new BufferedWriter(new FileWriter("d:/sql_area.txt"));
		getArea(JsonConvertTestUtils.JSON_AREA, null);
		output.close();
		System.out.println("生成d:/sql_area.txt成功!!!");
	}

	@SuppressWarnings("unchecked")
	public static void getArea(String str, PaipaiArea parent) {
		JSONObject jsonCountry = JSONObject.fromObject(str);
		Iterator<?> iteratorProvince = jsonCountry.entrySet().iterator();
		PaipaiArea area;
		while (iteratorProvince.hasNext()) {
			area = new PaipaiArea();
			Map.Entry<String, JSONArray> mapProvince = (Map.Entry<String, JSONArray>) iteratorProvince
					.next();
			area.setParent(parent);
			area.setId(new Integer(mapProvince.getKey()));
			JSONArray jsonArray = mapProvince.getValue();
			if (jsonArray.size() > 0) {
				area.setName(jsonArray.get(0).toString());

				printInsertSql(area);

				if (jsonArray.size() > 2) {
					getArea(jsonArray.get(2).toString(), area);
				}
			}
		}
	}

	public static void printInsertSql(PaipaiArea area) {
		String result = "";
		if (area.getParent() != null) {
			result = String.format(insertWidthParent, area.getId(), area
					.getName(), area.getParent().getId());
		} else {
			result = String
					.format(insertNoParent, area.getId(), area.getName());
		}

		try {
			output.write(result + "\n");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}


import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.Charset;

/**
 * Json格式数据常量类
 * 
 * @author qiaoyao
 * @version 1.0,2010-6-2
 */
public class JsonConvertTestUtils {

	public static String JSON_ORDER_LIST = "";
	public static String JSON_ORDER = "";

	public static String JSON_ITEM_LIST = "";
	public static String JSON_ITEM = "";

	public static String JSON_AREA = "";

	static {

		try {
			String currentPath = "d:/temp";
			JSON_ORDER_LIST = readerFile(currentPath + "/orderList.txt");
			JSON_ORDER = readerFile(currentPath + "/order.txt");
			JSON_ITEM = readerFile(currentPath + "/item.txt");
			JSON_AREA = readerFile(currentPath + "/area.txt");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public static String readerFile(String path) throws IOException {
		BufferedReader reader = null;
		StringBuffer sb = new StringBuffer();
		reader = new BufferedReader(new InputStreamReader(new FileInputStream(
				path), Charset.forName("gbk")));
		String tempString = "";
		while ((tempString = reader.readLine()) != null) {
			sb.append(tempString);
		}
		return sb.toString();
	}
	
}


import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import com.xhbs.b2c.domain.codetable.Area;

/**
 * Paipai区域对象
 * 
 * @author qiaoyao
 * @version 1.0,2010-6-13
 */

@Entity
@Table(name = "paipai_area")
public class PaipaiArea {

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Integer id;

	@Column(name = "name")
	private String name;

	@Column(name = "description")
	private String description;

	@Column(name = "available")
	private boolean available;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "parent")
	private PaipaiArea parent;

	@OneToMany(cascade = CascadeType.ALL, mappedBy = "parent", fetch = FetchType.LAZY, targetEntity = PaipaiArea.class)
	private Set<PaipaiArea> children;

	@ManyToOne(cascade = { CascadeType.MERGE, CascadeType.PERSIST }, targetEntity = Area.class)
	@JoinTable(name = "paipai_areamapping", joinColumns = { @JoinColumn(name = "_paipaiarea") }, inverseJoinColumns = { @JoinColumn(name = "_b2carea") })
	private Area area;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public boolean isAvailable() {
		return available;
	}

	public void setAvailable(boolean available) {
		this.available = available;
	}

	public PaipaiArea getParent() {
		return parent;
	}

	public void setParent(PaipaiArea parent) {
		this.parent = parent;
	}

	public Set<PaipaiArea> getChildren() {
		return children;
	}

	public void setChildren(Set<PaipaiArea> children) {
		this.children = children;
	}

	public Area getArea() {
		return area;
	}

	public void setArea(Area area) {
		this.area = area;
	}

}
分享到:
评论

相关推荐

    Python实现把json格式转换成文本或sql文件

    通过以上步骤,我们可以很容易地使用 Python 将 JSON 数据转换为文本或 SQL 文件格式。这种转换对于数据迁移、数据备份和数据分析等场景非常有用。希望这篇文章能帮助你在实际工作中更好地处理 JSON 数据。

    最新中国地图js&json数据文件.zip

    首先,我们要了解的是`js`和`json`这两种文件格式。JavaScript(js)是一种广泛用于网页和网络应用的编程语言,而JSON(JavaScript Object Notation)则是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...

    Flume 抽取MYSQL Oracle数据 JSON格式 推送Kafka

    Flume二次开发,支持抽取MYSQL Oracle数据库数据 以JSON格式推送至Kafka。 demo: sql_json.sources.sql_source.type = com.hbn.rdb.source.SQLSource sql_json.sources.sql_source.connectionurl = jdbc:oracle:...

    Json Js 文件包下载 josn2.js、json.js、 json_parse.js、json_parse_state.js、cycle.js

    3. `json_parse.js`:这个名字暗示了这个文件专注于JSON解析,可能包含一个自定义的解析器,用于将JSON字符串转化为JavaScript对象。 4. `json_parse_state.js`:可能包含了JSON解析过程中的状态管理代码,用于跟踪...

    three.js加载json三维模型.zip

    为了在Three.js中使用BIM模型,通常需要将BIM格式(如IFC、Revit等)转换成Three.js能识别的格式,如JSON。转换工具如IfcJS或Revit to Three.js可以帮助完成这一步。 五、实际应用 结合Three.js加载JSON模型的功能...

    使用Gdal将.shp文件转换为.json文件

    本教程将详细介绍如何使用GDAL将`.shp`(Shapefile)文件转换为`.json`文件,以便于在Web应用程序中使用,如Echarts这样的JavaScript图表库。 首先,了解`.shp`文件。它是一种由Esri开发的常见矢量地理数据格式,...

    JsonSql-master.zip

    JsonSql.js是一个强大的JavaScript库,专门用于处理JSON数据,提供了类似SQL的功能,使得在前端或者Node.js环境中操作JSON数据变得更加方便。这个库的核心是将JSON数据的查询、筛选、统计和分组等操作抽象成一个易于...

    全国行政区域json格式文件

    全国行政区域json格式文件是一种数据组织方式,常用于地理信息系统(GIS)或数据分析项目中,以便于处理和展示中国的行政区域信息。这种文件通常包含了中国所有省份、地级市、县级市、区县等行政单位的数据,每个...

    Editplus设置json格式化(支持unicode转换)

    接下来,关于`json.js`,这可能是用于处理JSON格式化的具体函数库,提供了将JSON数据格式化为标准格式的功能,如缩进、换行等。在`EditPlus`中,可以通过定义快捷键或者自定义菜单来调用这些功能。 至于`...

    grib2json--grib2文件转换成json格式

    标题 "grib2json -- 将grib2文件转换为json格式" 描述了将气象学中的grib2文件转化为更便于处理和分析的json格式的过程。grib2是一种广泛用于存储气象预报、气候数据和其他环境信息的二进制文件格式。而json...

    python json文件转txt文件,批处理json文件转换成一个txt文件

    当需要将JSON数据批量转换为TXT格式时,可以借助Python的内置库`json`来实现。 标题中的"python json文件转txt文件,批处理json文件转换成一个txt文件",指的是使用Python编写脚本来读取多个JSON文件,解析其内容,...

    JsonSQL:用SQL语句解析JSON文件

    **JsonSQL: SQL语句解析JSON文件** 在大数据处理和Web应用中,JSON(JavaScript Object Notation)格式已经...通过熟悉且强大的SQL语法,JsonSQL为处理JSON数据带来了便利,尤其是在需要复杂查询和过滤操作的场景下。

    json格式的中文字体库threejs支持的格式

    json格式的中文字体库threejs支持的格式 一共包含6个字体库 阿里黑体:AlimamaShuHeiTi_Bold.json 仿宋体:FangSong_Regular.json 微软雅黑常规:MicrosoftYaHei_Regular.json 微软雅黑加粗:MicrosoftYaHei_Bold....

    python json文件转txt文件,批处理json文件转换成一个txt文件,

    JSON格式用于存储和传输数据,而TXT则是一种简单的文本文件格式。在处理大量JSON数据时,有时我们需要将这些数据转换为TXT文件,以便于分析或进一步处理。本教程将详细讲解如何使用Python批量将JSON文件转换为TXT...

    threejs 显示中文需要的字体包json

    JSON文件通常由工具如`Glyphs.js`或`fontgen`生成,它们将TrueType字体转换为Three.js可理解的格式。 让我们详细了解一下这个过程: 1. **字体转换**:首先,你需要一个支持中文的TrueType字体,例如方宋...

    古诗内容提取json格式转jsonl

    本话题聚焦于“古诗内容提取json格式转jsonl”,这涉及到从JSON格式的数据中提取古诗内容,并将其转换为JSONL(JSON Lines)格式。下面我们将深入探讨这两个格式以及转换过程中的关键知识点。 首先,JSON...

    Jquery.json.js

    jQuery提供了方便的方法来处理JSON数据,包括`$.getJSON()`和`$.ajax()`等函数,可以方便地从服务器获取JSON数据并将其转化为JavaScript对象,或者将JavaScript对象转换为JSON字符串发送到服务器。 **jQuery的get...

    json格式转txt格式实力

    在VS(Visual Studio)环境下将JSON格式转换为TXT格式,主要涉及以下几个步骤: 1. **读取JSON文件**:首先,你需要打开VS并创建一个新的C#项目。然后,使用`System.IO`命名空间中的`StreamReader`或`File....

    area.js,区域json文件,Vant-ui区域json文件

    area.js,区域json文件,Vant-ui区域json文件

Global site tag (gtag.js) - Google Analytics